标签:
左值和右值得问题,初步理解就是: int i = 5;
左值是一个变量(内存区域)的引用,是可变的,i是左值;右值是不变的,5是右值;
注意:
++i是左值,i++是右值。
因为++i 返回 i 本身,而 i++ 返回 i 的值。
a++ 即是返回 a的值,然后变量 a 加 1,返回需要产生一个临时变量类似于
{ int temp = a;
a=a+1;
return temp; //返回右值 }
++a 则为:
{ a=a+1;
return &a; //返回左值 }
显然,前增量不需要中间变量,效率更高。
标签:
原文地址:http://www.cnblogs.com/goodearth/p/4802569.html