左值与右值的区别

时间:2022-10-12 14:56:57


 定义:左值与右值的定义在于一个赋值等号,赋值等号左边成为左值,等号右边成为右值

左值(L-value):表示存储在计算机内存的对象,可寻址,相当于地址值

右值(R-value):代表的为真实值,可读,即数据值

 

因为左值是一个地址值,因此可以对左值进行赋值操作,而右值本身就是同一个数据值,就不存在对一个数据值就行赋值的操作。

例如:
            int a,b;
            a=5;//为合法的操作,因为a是个地址值;
            b=a;//这个也是个合法操作,在这里b为地址值,a取其数据值即5(注意这里不是取地址值,因为a是作为一个右值)
            5=5;//这是一个非法操作,因为左值是个数据值,右值也是个数据值