C++ rvalue引用的名称可能是什么意思?

C++ rvalue引用的名称可能是什么意思?,c++,reference,rvalue,C++,Reference,Rvalue,我感兴趣的是为什么右值引用被称为“右值引用”。它与rvalue、prvalue等概念有何关系。第N3797::5/5节说明: 如果表达式最初的类型为“引用T”(8.3.2, 8.5.3),在进一步分析之前,将类型调整为T。表达式指定引用所表示的对象或函数, 表达式是左值还是X值,取决于 表情 这是一个表达式,其中右值引用涉及调整为lvalue或xvalue,而不是rvalue或prvalue,因为引用必须绑定到右值。左值引用可以绑定到左值或右值。@MattMcNabb但是左值到右值的标准转换呢?

我感兴趣的是为什么右值引用被称为“右值引用”。它与
rvalue、prvalue等
概念有何关系。第N3797::5/5节说明:

如果表达式最初的类型为“引用T”(8.3.2, 8.5.3),在进一步分析之前,将类型调整为T。表达式指定引用所表示的对象或函数, 表达式是左值还是X值,取决于 表情


这是一个表达式,其中右值引用涉及调整为
lvalue
xvalue
,而不是
rvalue
prvalue

,因为引用必须绑定到右值。左值引用可以绑定到左值或右值。@MattMcNabb但是左值到右值的标准转换呢?为什么不执行?这是在表达式求值期间执行的。我不明白这和“为什么右值引用被称为右值引用”这个问题有什么关系。您的引用谈到如何在表达式中计算右值引用。名称“右值引用”适用于引用的绑定方式,而不是它在表达式中的作用。xvalue是右值的一种类型。引用的初始化在§8.5.3[dcl.init.ref]/p5中规定。如果引用的类型是与表达式的类型相关的引用,则显式禁止从左值表达式初始化右值引用。