我不明白以下幾點:右值引用失去其本質
class Class {
public:
void operator=(string&&) {
cout << "here";
}
};
string func() {
return "Paul";
}
int main()
{
string&& rvalueref = func();
Class obj;
obj = rvalueref; <- error! Why isn't rvalueref a rvalue ref anymore?
return 0;
}
,因爲我可以綁定一個prvalue到右值引用,我想我還可以通過它周圍。爲什麼上述失敗?
'rvalueref'是一個左值。右值引用不綁定到左值。 – chris
@chris你是不是想說左值不綁定右值引用? – 0x499602D2
@ 0x499602D2,我可能已經開始[此標題](http://stackoverflow.com/questions/1565600/how-come-a-non-const-reference-cannot-bind-to-atemporary - 對象)整個時間。或類似於'int'的* non-const lvalue引用的編譯器錯誤無法綁定到'int'類型的臨時值。 – chris