【问题标题】:rvalue reference to temporary declaration对临时声明的右值引用
【发布时间】:2016-01-30 13:02:29
【问题描述】:
E && e0 = E () ; 
E e1 ;

这两种对象声明的情况有什么不同吗? ;

【问题讨论】:

    标签: c++ c++11 declaration rvalue-reference rvalue


    【解决方案1】:

    在你的例子中:

    • E() 的结果是一个右值(确切地说是一个右值);
    • e0 是一个左值,类型为E&&(右值引用E);
    • e1 也是一个左值,类型为E
    • e0,通过绑定到E() 的结果,将其生命周期从临时延长到自动。

    因此,如果以下代码在 EE&& 之间没有区别(例如,decltype 会但 auto 不会),它们的行为将相同。

    【讨论】:

      猜你喜欢
      • 2011-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-15
      • 1970-01-01
      • 2015-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多