後置遞增和遞減運算子: + + 和-
postfix-expression ++
postfix-expression ––
備註
C + + 提供前置詞和後置遞增和遞減運算子。 本章節將說明後置遞增和遞減運算子。 (如需詳細資訊,請參閱前置遞增和遞減運算子。) 這兩個不同的是後置標記法中,該運算子將出現後後置運算式,而在前置標記法中,該運算子將出現之前 運算式。 下列範例會示範一個後置遞增運算子:
i++;
套用後置遞增運算子的效果 (++) 是運算元的值會遞增一個單位的適當的型別。 同樣地,套用後置遞減運算子的效果 (-) 是運算元的值會減少一個單位的適當的型別。
請務必注意後置遞增或遞減運算式會評估運算式的值為於個別運算子的應用程式。 遞增或遞減運算,就會發生之後評估運算元。 這個問題只發生於當後置遞增或遞減運算,就會發生在較大運算式內容中。
當後置運算子套用至函式引數時,不保證會依遞增或遞減後,才傳遞至函式引數的值。 請參閱章節 1.9.17 在 C++ 標準,如需詳細資訊。
將後置遞增運算子套用至變數的指標型別之物件的陣列, 長實際上會加入四個內部表示的指標。 這種行為會使得指標,也就先前提到 n陣列,來參照第項目 (n+ 1) 第項目。
後置遞增和遞減運算子的後置的運算元必須是可修改 (不 const) 左值的算術或指標型別。 結果的型別是相同的後置運算式,但它不是左值。
也可以是後置遞增運算子的運算元型別bool、 評估運算元的大小寫和然後設為 ,則為 true。 後置遞減運算子的運算元不能屬於型別bool。
下列程式碼說明後置遞增運算子:
// expre_Postfix_Increment_and_Decrement_Operators.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
int main() {
int i = 10;
cout << i++ << endl;
cout << i << endl;
}
不支援列舉型別上的 postincrement 和 postdecrement 作業:
enum Compass { North, South, East, West );
Compass myCompass;
for( myCompass = North; myCompass != West; myCompass++ ) // Error