对临时声明的右值引用
Posted
技术标签:
【中文标题】对临时声明的右值引用【英文标题】:rvalue reference to temporary declaration 【发布时间】:2016-01-30 13:02:29 【问题描述】:E && e0 = E () ;
E e1 ;
这两种对象声明的情况有什么不同吗? ;
【问题讨论】:
【参考方案1】:在你的例子中:
E()
的结果是一个右值(确切地说是一个右值);
e0
是一个左值,类型为E&&
(右值引用E
);
e1
也是一个左值,类型为E
;
e0
,通过绑定到E()
的结果,将其生命周期从临时延长到自动。
因此,如果以下代码在 E
和 E&&
之间没有区别(例如,decltype
会但 auto
不会),它们的行为将相同。
【讨论】:
以上是关于对临时声明的右值引用的主要内容,如果未能解决你的问题,请参考以下文章