我有以下功能:
T foo();
而且,在另一个函数中,我正在使用返回T
值,例如:
const T& t = foo();
或者
T&& t = foo();
我想问一下:
两者是等价的吗?
在内存方面,这两种方法有什么区别?
我知道在第一种方法中,临时值生命周期与参考生命周期相匹配。使用右值引用时也会发生同样的情况吗?
我是否应该考虑使用 const 右值引用 (
const T&&
)?
我正在使用第一种方法,这就是我习惯并且很好地照顾我的方法。我仍然围绕右值引用和 C++11 商品。