1. 程式人生 > >左值與右值的區別

左值與右值的區別

定義:左值與右值的定義在於一個賦值等號,賦值等號左邊成為左值,等號右邊成為右值

左值(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