【问题标题】:What does && mean with a parameter type in C++? [duplicate]&& 对 C++ 中的参数类型意味着什么? [复制]
【发布时间】:2012-01-15 11:32:14
【问题描述】:

可能重复:
What does T&& mean in C++0x?

在阅读 this answer 之前,我从未见过双 & 符号。

有问题的代码sn-p是这样的:

template <typename T>
T& as_lvalue(T&& x)
{
    return x;
}

&amp;&amp; 实现了什么? as_lvalue()可以传递什么样的参数

【问题讨论】:

  • 标题中的一些上下文会很有用 - 我来这里是为了讨论逻辑运算符。

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


【解决方案1】:

它被称为rvalue reference,它是 C++11 中的新内容。它绑定到临时对象而不制作副本。

【讨论】:

  • 这并没有真正回答这个问题——在这个新标准之前,我在 C++ 方面有很多经验,当我阅读维基百科页面时,我的眼睛只是呆滞。
  • MSDN article on the rvalue operator 比维基百科链接更广泛。
  • @JasonS:它绑定到临时对象而不复制
【解决方案2】:

最常见的用法是短路布尔值和运算符。

C++11 将它用于右值引用。您的示例使用它。

【讨论】:

    猜你喜欢
    • 2020-05-31
    • 2013-01-16
    • 2016-01-02
    • 2013-06-05
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 2021-05-17
    • 2012-05-02
    相关资源
    最近更新 更多