对指针表达式左值右值的理解左值即若其为右值时的值所在的地址。如:*p a;则*p为右值时,等于a;若*p为左值
对指针表达式左值右值的理解
左值即若其为右值时的值所在的地址。
如:*p = a;则*p为右值时,等于a;若*p为左值时,等于存储a的地址。
请问这样理解对吗?
[解决办法]
左右值是描述表达式属性的。 如果一个表达式的值它所在的语句结束后还能引用,说明它是一个左值,否则就为右值。
一个简单的方法:
如果可以对表达式使用&取址运算符,则这个表达式就是一个左值。
- C/C++ code
int a; &(a); // ok,所以a是一个左值&(a++); //ng,所以a++是以个右值
[解决办法]
这个差不多了。
