https://stackoverflow.com/a/3601661/368896和其他人提供了lvalue
和rvalue
(参考标准)的定义,以及xvalue
、glvalue
和prvalue
。
但是, 的定义是rvalue
指 的定义xvalue
,而 的定义是xvalue
指“涉及右值引用的某些类型的表达式的结果”。
因此,要理解 的技术定义rvalue
,必须确定上述定义中提到了哪些“涉及右值引用的表达式”。我花时间尝试遵循标准(和不同的帖子)来跟踪这个定义。我想要一个不需要跟踪其他定义的定义(更明显的低级定义除外)。
这是一场野鹅追逐吗?是否有可能对右值表达式和左值表达式之间的区别提供一个简洁但严格的定义,涵盖所有可能的情况,并且不提及“涉及右值引用的某些类型的表达式的结果”?如果是这样,这样的定义是什么?