C++中,int&&表示什么意思?和int&有什么不同?

像下面这个语法,居然也能够编译通过:int_A=100;voidfunc(int&&a){a=_A;}并且在stl中也有类似的语法,例如<utility>的第242行:t... 像下面这个语法,居然也能够编译通过:
int _A = 100;
void func(int &&a) {
a = _A;
}
并且在stl中也有类似的语法,例如<utility>的第242行:
template<class _Other1,
class _Other2>
pair(_Other1&& _Val1, _Other2&& _Val2)
: _Mybase(_STD forward<_Other1>(_Val1),
_STD forward<_Other2>(_Val2))
{ // construct from moved values
}
请问:int&&与int&有什么不同?
谢谢!
展开
 我来答
司琅0Iid5b
推荐于2018-09-09 · TA获得超过802个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:608万
展开全部
你好,int&&可以理解为右值引用,其作用是将变量绑定到一个临时变量上,一般是函数返回值
如:
int somemethod()
{
int a = 10;
return a;
}
int&& b = some_method();
这样可以减少函数返回操作并且赋值操作时new、delete、copy操作,提高效率。特别是当返回类型比较庞大的时候,作用明显。

int&&作为形参的情况,作用类似。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
极天异云
2011-02-11 · TA获得超过1054个赞
知道小有建树答主
回答量:1170
采纳率:42%
帮助的人:383万
展开全部
in gcc 4.4.3,
不能通过编译,
你使用的编译器很可能有缺陷。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
william_shy
2011-02-11 · TA获得超过151个赞
知道答主
回答量:113
采纳率:0%
帮助的人:0
展开全部
int&& 从未见过这样用的,
int& 引用。
你要把你的code贴出来大家才能给出更好的解释。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangtk1982
2011-02-11 · TA获得超过3742个赞
知道大有可为答主
回答量:3206
采纳率:100%
帮助的人:1403万
展开全部
Move Semantics 中文叫什么还真不清楚 语义转移?
C++0x里专门讲过这个

说起来很麻烦 你自己搜搜吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式