【发布时间】:2014-10-03 12:03:46
【问题描述】:
我偶然发现了这样的语法:
int&& move(int&& x)
{
return x;
}
据说std::move函数是这样实现的,但是我不太明白返回类型(&&)到底是什么意思。
我用谷歌搜索了它,但没有得到答案,有人可以向我解释一下吗?
编辑:
我的大部分困惑来自于函数的返回已经是一个右值,所以我不明白 && 可以在那里改变什么。不知道我是否有意义。
【问题讨论】:
-
双与号就是我们通常所说的rvalue references。
-
&&只是and的简写。您可以将代码写成int and move (int and x)。 -
这不是重复的;那里有关于我返回 r 值引用是好事还是坏事的文章。通过关闭这个问题发送给另一个没有提到返回类型的问题,你忽略了你有答案的可能性。
-
@CodyGray:它询问它是什么返回类型。重定向的问题没有提到的东西。