C++ 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)并返

我试图理解C++11的新特性,关于右值引用,我有两个问题

  • 我没有看到函数返回右值引用的例子(除了
    std::move
    )。是否存在这样做有意义的情况?例如,
    int&&foo(…)

  • 在某些情况下,当声明局部变量或作为函数参数时,对const进行右值引用是否有意义?例如,
    foo(int const&&i)

  • 1) 我没有看到函数返回右值引用的例子(除了
    std::move
    )。是否存在这样做有意义的情况

    除了将其参数强制转换为右值引用(例如
    std::move
    ,以及在适当的情况下,
    std::forward
    )并返回该参数之外,我相信您不会经常遇到这些库函数

    2) 在某些情况下,对常量
    进行右值引用有意义吗


    不多。实际上几乎没有。当您希望绑定到最终要从中移动的对象时,将使用右值引用,并且由于您无法从
    const
    对象中移动(因为移动会改变从中移动的对象的状态,而
    const
    承诺相反),因此将右值引用到
    const
    没有什么意义。还要注意,对
    const
    的左值引用也可以绑定到右值。不过也有。

    1)
    Move是主要的例子<代码>2)
    重复。事实上,两个问题都是重复的。