现在对临时工程的非 const 引用?
Non-const reference to temporary works now?
随着移动语义的引入,只能将临时对象绑定到 const 引用的规则是否发生了变化?非常量似乎也能延长寿命。
A getA() { return A();}
A & aref = getA(); //OK
string & str = string("h") + string("i"); //OK again
这是在 msvc 中,A 的析构函数在 main 退出之前不会被调用。
不,规则是一样的,您不能将右值绑定到非常量左值引用。 MSVC 正在使用(危险的)扩展。
随着移动语义的引入,只能将临时对象绑定到 const 引用的规则是否发生了变化?非常量似乎也能延长寿命。
A getA() { return A();}
A & aref = getA(); //OK
string & str = string("h") + string("i"); //OK again
这是在 msvc 中,A 的析构函数在 main 退出之前不会被调用。
不,规则是一样的,您不能将右值绑定到非常量左值引用。 MSVC 正在使用(危险的)扩展。