秒。 5.4 / 1 N3797说:
如果T是左值引用类型或右值,则结果为左值 如果T是右值引用,则引用函数类型和xvalue 对象类型。
这是什么意思?我知道左值表达是什么意思。我一直试图在标准中找到左值参考类型定义,但我不能。你能提供吗?
答案 0 :(得分:2)
术语左值参考表示其中包含一个&
的引用,例如:
int &x = whatever;
int const &y = whatever;
在C ++ 03中,左值引用是唯一的引用类型。在C ++ 11中,添加了右值引用,因此反义词左值引用被创造为非右值引用。
左值引用可以绑定到左值和右值(对非常量左值引用的限制不能绑定到临时对象);右值引用只能绑定到右值。
注意:universal references可以绑定到左值或右值,绑定后它们的行为类似于左值引用,或者像右值引用。
答案 1 :(得分:1)
lvalue reference
中描述的The C++ Programming Language 4th Edition
有两种类型,如下所示,
non-const
lvalue reference
是指参考用户可以写入的对象。const
lvalue reference
是指一个常量,从参考用户的角度来看是不可变的。另外,
rvalue reference
是指临时对象,引用的用户可以(通常会)修改该临时对象,假设该对象永远不会再次使用。