-
左值
左值为一个非临时性对象的表达式,通常为定义的带名字的变量。
-
右值
相对于左值,右值是临时性对象的表达式。
-
左值引用
以 int 基本类型为例,左值引用的定义:int x = 0; int &y = x;
需要注意的是,左值引用的对象 必须是可以修改的左值,下面列举反例:
const int z = 1;
int &conf1 = z; // z为常量,虽为左值但不可修改
int &conf2 = x + y; // 表达式 x+y 产生了一个临时变量,临时变量是右值
int & conf3 = 1; // 显然,1作为一个数值常量是一个右值
-
右值引用
右值引用使用双取地址符 && ,右值引用场景特殊,暂且不讨论
具体为:
int &&a = 0; // 显然,它可以引用右值
标签:右值,int,左值,引用,&&,表达式 From: https://www.cnblogs.com/meetalone/p/17154776.html