C ++インクリメントデクリメント演算子
インクリメント演算子++は、1デクリメント演算子をオペランドます - オペランドマイナス1になります。 したがって:
x = x+1; 等同于 x++;
同じ:
x = x-1; 等同于 x--;
インクリメントまたはデクリメント演算子演算子は、オペランド(接頭辞)の前または(接尾辞)の後に配置することができるかどうか。 例えば:
x = x+1; 可以写成: ++x; // 前缀形式
または:
x++; // 后缀形式
接頭辞と接尾辞フォームフォームの間にはほとんど違いがあります。 あなたは接頭辞フォームを使用する場合は、増減式を完成する前に評価されますが、postfixのフォームを使用している場合、式は増減が完了した後に計算されます。
例
両者の違いを理解し、次の例を考えてみます。
#include <iostream> using namespace std; main() { int a = 21; int c ; // a 的值在赋值之前不会自增 c = a++; cout << "Line 1 - Value of a++ is :" << c << endl ; // 表达式计算之后,a 的值增加 1 cout << "Line 2 - Value of a is :" << a << endl ; // a 的值在赋值之前自增 c = ++a; cout << "Line 3 - Value of ++a is :" << c << endl ; return 0; }
上記のコードはコンパイルされ、実行されると、次の結果を生成します。
Line 1 - Value of a++ is :21 Line 2 - Value of a is :22 Line 3 - Value of ++a is :23