左值與右值

2022-06-05 09:54:12 字數 552 閱讀 4233

在c中,左值指的是既能夠出現在等號左邊也能出現在等號右邊的表示式,右值指的則是只能出現在等號右邊的表示式。

在c ++中,每個表示式都會產生乙個左值或右值,因此每個表示式都稱為左值或右值表示式。

左值的乙個示例是識別符號。

作為另一示例,對物件的引用是左值。

每個不是左值的表示式都是乙個右值。

乙個很好的例子是產生算術值的表示式。

一種直觀的方法是將表示式視為函式,然後可以將左值視為函式返回引用的結果。

例子:下標運算子是形式

t&operator (t *,ptrdiff_t) 

的函式, 

因此 a [0] 

是乙個左值,其中 

a 是陣列型別。

解引用運算子是形式

t&operator *(t *) 

的函式, 

因此 * p 

是左值,其中 

p 是指標型別。

取反運算子的形式為 

t運算子-(t) 

,因此 

-x 是右值。

一些要用到左值的運算子:

左值與右值

本文摘自 http jiang5005.spaces.live.com blog cns 619f3de8ab99988e 111.entry?action post wa wsignin1.0 8月20日 c 中的左值和右值 1.概念 變數和文字常量都有儲存區,並且有相關的型別,區別在於變數是可定...

左值與右值

左值就是那些能夠出現在賦值符號左邊的東西。右值就是那些可以出現賦值符號右邊的東西。例如 a b 25 a就是乙個左值,因為它標識了乙個可以儲存結果值的地點,b 25是個右值,因為它指定了乙個值。但是它們可以互換嗎?b 25 a 原先用作左值的a此時也可以當作右值,因為每個位置都 包含乙個值。然而,b...

左值與右值

對左值和右值的乙個最常見的誤解是 等號左邊的就是左值,等號右邊的就是右值。左值和右值都是針對表示式而言的,左值是指表示式結束後依然存在的持久物件,右值是指表示式結束時就不再存在的臨時物件。乙個區分左值與右值的便捷方法是 看能不能對表示式取位址,如果能,則為左值,否則為右值。下面給出一些例子來進行說明...