我正在尝试了解 C++11 的新特性,我有两个关于右值引用的问题。
std::move
除外)。是否有这样做有意义的情况?例如, int&& foo(...)
。 foo(int const&& i)
。 最佳答案
除了将其参数转换为右值引用(例如 std::move
和,在适当的时候, std::forward
)并返回该参数的库函数之外,我认为您不会经常遇到这种情况。
不太多。实际上几乎没有。当您想绑定(bind)到最终要从中移动的对象时使用右值引用,并且由于您不能从 const
对象中移动(因为移动会改变您从中移动的对象的状态,而 const
promise 相反),它使对 const
进行右值引用毫无意义。另请注意,对 const
的左值引用也可以绑定(bind)到右值。不过有a few use cases for that。
关于C++11 右值引用题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14922480/