一、C++表达式的左值和右值

C++表达式的左值(Left Value)和右值(Right Value)是指C++中表达式的两种不同类型。左值是一个可以被引用的表达式,它可以出现在赋值语句的左侧;右值是一个不可以被引用的表达式,它只能出现在赋值语句的右侧。

二、左值

左值是指在内存中有实际地址的表达式,可以被赋值,也可以作为函数的参数使用,也可以作为赋值语句的左值,如:

int a = 1; //a是左值

int b = a; //a是左值

三、右值

右值是指在内存中没有实际地址的表达式,可以作为函数的参数使用,但不能被赋值,只能作为赋值语句的右值,如:

int a = 1 + 2; //1+2是右值

int b = a + 3; //a+3是右值