class Test {
public:
int n1;
};
Test func() {
return Test();
}
int main() {
func() = Test();
}
這對我沒有任何意義。如何以及爲什麼這是允許的?它是不確定的行爲?如果一個函數返回一個右值,那麼如何將右值設置爲另一個右值?如果我用任何原始類型嘗試這個,它會給我一個像我期望的錯誤。我知道左值是內存中的一個地方,函數也是創建一個臨時左值(右值?)並將其賦值給另一個左值?有人可以解釋這種語法的工作原理嗎將從函數返回的Rvalue賦值給另一個Rvalue
「_IF函數返回一個rvalue_」事實並非如此。 – curiousguy