c++語言中可以放在等號左邊的變數,即具有對應的可以由使用者訪問的儲存單元,並且能夠由使用者去改變其值的量。[1]
或者說左值是代表乙個記憶體位址值,通過這個記憶體位址,就可以對記憶體進行讀寫操作;[2]這也就是為什麼左值可以被賦值的原因了。
相對應的還有右值:當乙個符號或者常量放在操作符右邊的時候,計算機就讀取他們的「右值」,也就是其代表的真實值。
比如: int ia,ib;
ib=0;
ia=ib;
在這裡,首先定義ia,ib。然後對ib賦值,此時計算機取ib的左值,也就是這個符號代表的記憶體位置即記憶體位址值,計算機取0的右值,也就是數值0;然後給ia賦值為ib,此時取ib的右值給ia的左值;
所以說,ib的左值、右值是根據他的位置來說的;
C 中的左值和右值
1.概念變數和文字常量都有儲存區,並且有相關的型別,區別在於變數是可定址的 對於每個變數,都有2個值與其相關聯 1 資料值,儲存在某個記憶體位址中,也稱右值 rvalue 右值是被讀取的值 read value 文字常量和變數都可被用於右值。2 位址值,即儲存資料值的那塊記憶體位址,也稱左值 lva...
c 中的左值和右值
左值 lvalue 右值 rvalue 是 c c 中乙個比較晦澀的概念,有的人可能甚至沒有聽過,但這個概念到了 c 11 後卻變得十分重要,它們是理解move forward 等新語義的基礎。左值與右值這兩概念是從c中傳承而來的,在c中,左值指的是能夠出現在等號左邊及右邊的變數 表示式 右值則指的...
C 中的左值和右值
左值 lvalue 應該被解釋被location value,即可被定址的值 右值 rvalue 應該被解釋為read value,即唯讀的值,而不能被定址 這樣理解應該更為準確一點 通俗的講,左值就是能夠出現在賦值符號左面的東西,而右值就是那些可以出現在賦值符號右面的東西了。舉個很簡單的例子 a ...