从较低级别的角度看,r值参考是什么样的.我似乎无法绕过它!我可以从r值参考与l值参考中看到生成代码(等效C或x86/x64)的示例吗?
例如,这个结构会是什么样的?我们现在假设没有复制省略.
vector<SomethingHUUGE> myFunc();
void foo(vector<SomethingHUUGE>&&);
int main() { foo(myFunc()); return 0; }
Run Code Online (Sandbox Code Playgroud)
代码生成的目的没有区别.两者之间唯一的语义差异是你知道RValue引用即将被销毁,而左值引用则不会.