c++ - Widget&& rhs 是左值还是右值引用

标签 c++ c++11 reference rvalue lvalue

在有效的现代 C++ 中

class Widget {
public:
 Widget(Widget&& rhs); // rhs is an lvalue, though it has
 …                    // an rvalue reference type
};

rhs 是左值

void f(Widget&& param); // rvalue reference

param 是右值引用

rhs 和 param 有什么区别?

最佳答案

类型:在这两种情况下,参数的类型都是“对 Widget 的右值引用”。

值类别:在这两种情况下,参数名称都是左值表达式。

没有区别。

关于c++ - Widget&& rhs 是左值还是右值引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59750973/

相关文章:

c++ - 需要帮助让英特尔 TBB 正常工作吗?

C++解压缩一个gzip字节数组

c++ - 使用分支逻辑进行编译时类型检查

C++ 我应该如何解释函数参数 long(*pPointer)(OtherClass *const, long)?

c++ - 如何在编译时替换元组元素?

javascript - 如何从 javascript 中返回的对象引用私有(private)方法?

c++ - 具有动态变化背景的 GUI

c++ - 是否可以指定按位操作的返回类型?

C++ 引用和接口(interface)指针之间的不同行为

c++ - 将 const 引用传递到构造函数链中