c – 现在非临时工作的非常规参考?
作者:互联网
随着移动语义的引入,您是否只能将临时工具绑定到const引用更改?非const似乎也延长了寿命.
A getA() { return A();}
A & aref = getA(); //OK
string & str = string("h") + string("i"); //OK again
这是使用msvc,A的析构函数在主退出之前不会被调用.
解决方法:
不,规则是相同的,不允许将rvalue绑定到非const左值引用. MSVC使用(危险)扩展.
标签:temporary-objects,rvalue,c,reference,move-semantics 来源: https://codeday.me/bug/20190824/1708494.html