考慮移動賦值運算符的this規範形式:c + +只移動物體 - 如何從賦值運算符返回
class_name & class_name :: operator= (class_name &&)
當副本被禁用鏈接等於是不可能的,因爲返回的值是lvalue
並從邏輯點的觀點它沒有任何意義。在那裏我可以看到的唯一的地方(也許你有其他的樣品)使用返回值調用,它接受一個函數時reference/const reference
到class_name
:
void foo(class_name&){}
void bar(const class_name&){}
void use_foo_bar()
{
some_class a;
foo(a = get_some_class());
bar(a = get_some_class());
}
,但我認爲這是一個不好的編程風格(個人意見)我不想在代碼庫中看到它。
當禁用複製或void
返回類型正常時,返回當前對象是否有意義?
如果你寫'的std ::鏈內move'這是可能的。 – 2014-10-09 14:46:27
@LightnessRacesinOrbit這就是...調用函數;)我不直接使用該值,我使用它調用函數並使用該函數的返回 – Felics 2014-10-09 14:49:56
我真的沒有看到問題。 – 2014-10-09 14:59:32