在C++(以及其他編程語言)中,(x++)
將x評估爲令牌,然後將x遞增1,而(++x)
首先遞增x,然後評估x的新值作爲標記。爲什麼存在x ++和++ x,x + = 2但不是x = + 2?
類似地,(x += 2)
存在(評估x爲令牌,然後將x增加2)。然而,(x =+ 2)
不會歸結爲將x遞增2,然後評估x的新值作爲標記,而是評估爲x = +2
。
爲了區分x =+ 2
和x = +2
,適當的間隔將是必要的,但我不明白爲什麼這將是一個問題。
爲什麼(x =+ 2)
沒有設計執行兩個預增量的功能?
編輯:這樣做的目的不是看起來漂亮,而是爲了方便一些可能出現循環的情況。
,因爲適當的間距是必要的,例如, 'x = + 2'是什麼。 'x = x + 2'?或'x =正面2'?一旦你必須輸入適當的間距,使用'x = + 2'和'x + = 2'完全不會節省時間/空間。 –
這樣做的目的不是很漂亮,而是爲了方便一些循環的情況。 –
並記住C的buzzphrase是「彙編程序的所有可讀性的全部能力」。大多數cpus有一個'inc'指令來做一個簡單的'x = x + 1',而很少/沒有'inc2'。所以雖然x ++可以直接映射到那個'inc'指令,但是沒有映射爲+2變體,所以你可能只需寫出+2的增量。 –