我正在尝试了解 C++11 的新特性,我有两个关于右值引用的问题。

  • 我还没有看到函数返回右值引用的例子(std::move 除外)。是否有这样做有意义的情况?例如, int&& foo(...)
  • 在声明局部变量或作为函数参数时,是否存在对 const 进行右值引用有意义的情况?例如, 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/

    10-11 17:02