This question already has answers here:
Rvalue Reference is Treated as an Lvalue?

(4个答案)


在11个月前关闭。




在有效的现代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

参数是右值引用

rhs和param有什么区别?

最佳答案

类型:在两种情况下,参数的类型均为“对小部件的右值引用”。

值类别:在两种情况下,参数的名称均为左值表达式。

没有区别。

  • 进一步阅读:Rvalue Reference is Treated as an Lvalue?
  • 关于c++ - Widget && rhs是左值还是右值引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59750973/

    10-11 22:08