1
學習左值和右值。定義是什麼可以是「地址」是左值,否則,它是右值。前/後綴增量的左值和右值
我檢查了運算符優先級,前綴和後綴增量的優先級都高於「運算符的地址」。
對於以下兩個示例,任何人都可以解釋一下爲什麼第一個「& ++ value1」是一個左值,而第二個「& value1 ++」是右值。
我對這兩種情況的錯誤理解是:pValue1指向value1變量。在建立地址關聯之前或之後,無論value1變爲8,value1變量總是佔用一個內存位置,我們可以得到它的地址,對嗎?
int value1=7;
int *pValue1=&++value1;
int *pValue1 = &value1++;
postfix'operator ++'返回一個預增量副本,而不是對增量對象的引用 – Fureeish
不直接相關,但是您的「左值」定義不完整。位域是左值,但你不能得到他們的地址。 – HolyBlackCat