现在非常规参考临时工程?

oll*_*llo 3 c++ reference rvalue temporary-objects move-semantics

随着移动语义的引入,您是否只能将临时工具绑定到const引用更改?非const似乎也延长了寿命.

 A getA() { return A();}  

 A & aref = getA(); //OK
 string & str = string("h") + string("i"); //OK again
Run Code Online (Sandbox Code Playgroud)

这是使用msvc,A的析构函数在主退出之前不会被调用.

vso*_*tco 7

不,规则是相同的,不允许将rvalue绑定到非const左值引用.MSVC使用(危险)扩展.