自从引入了移动语义,那么只能将临时对象绑定到const引用的规则是否改变了?非const引用似乎同样可以扩展生命周期。
A getA() { return A();}
A & aref = getA(); //OK
string & str = string("h") + string("i"); //OK again
使用msvc编译,A的析构函数在main结束之前不会被调用。