2.8 左值与右值
C++中的每个语句、表达式的结果分为左值与右值两类。左值指的是内存中持续存储的数据,而右值是指临时存储的结果。在程序中,声明过的独立变量如:
Int k;
short p;
char a;
它们都是左值。又如:
Int a = 0;
Int b = 2;
Int c = 3;
a = c-b;
b = a++;
c = ++a;
c--;
c-b是一个存储表达式结果的临时数据,它的结果将被复制到a中,它是一个右值。a++自增的过程实质上是一个临时变量执行了表达式,而a的值已经自增了。++a恰好相反,它是自增之后的a,是一个左值。由此可见,c-是一个右值。左值都可以出现在表达式等号的左边,所以称为左值。若表达式的结果不是一个左值,那么表达式的值一定是个右值。
相关资源:七夕情人节表白HTML源码(两款)