定义:左值与右值的定义在于一个赋值等号,赋值等号左边成为左值,等号右边成为右值
左值(L-value):表示存储在计算机内存的对象,可寻址,相当于地址值
右值(R-value):代表的为真实值,可读,即数据值
因为左值是一个地址值,因此可以对左值进行赋值操作,而右值本身就是同一个数据值,就不存在对一个数据值就行赋值的操作。
例如:
int a,b;a=5;//为合法的操作,因为a是个地址值;b=a;//这个也是个合法操作,在这里b为地址值,a取其数据值即5(注意这里不是取地址值,因为a是作为一个右值)5=5;//这是一个非法操作,因为左值是个数据值,右值也是个数据值
转载出处:http://baike.baidu.com/view/9489098.htm