C++ C++;11右值参考问题
我试图理解C++11的新特性,关于右值引用,我有两个问题C++ C++;11右值参考问题,c++,c++11,reference,rvalue-reference,C++,C++11,Reference,Rvalue Reference,我试图理解C++11的新特性,关于右值引用,我有两个问题 我没有看到函数返回右值引用的例子(除了std::move)。是否存在这样做有意义的情况?例如,int&&foo(…) 在某些情况下,当声明局部变量或作为函数参数时,对const进行右值引用是否有意义?例如,foo(int const&&i) 1) 我没有看到函数返回右值引用的例子(除了std::move)。是否存在这样做有意义的情况 除了将其参数强制转换为右值引用(例如std::move,以及在适当的情况下,std::forward)并返
std::move
)。是否存在这样做有意义的情况?例如,int&&foo(…)
foo(int const&&i)
std::move
)。是否存在这样做有意义的情况
除了将其参数强制转换为右值引用(例如std::move
,以及在适当的情况下,std::forward
)并返回该参数之外,我相信您不会经常遇到这些库函数
2) 在某些情况下,对常量进行右值引用有意义吗
不多。实际上几乎没有。当您希望绑定到最终要从中移动的对象时,将使用右值引用,并且由于您无法从const
对象中移动(因为移动会改变从中移动的对象的状态,而const
承诺相反),因此将右值引用到const
没有什么意义。还要注意,对const
的左值引用也可以绑定到右值。不过也有。1)
Move是主要的例子<代码>2)
重复。事实上,两个问题都是重复的。