Cplusplus-cpp-increment-decrement-operators

提供:Dev Guides
移動先:案内検索

C ++のインクリメントおよびデクリメント演算子

インクリメント演算子++はオペランドに1を加算し、デクリメント演算子はオペランドから1を減算します。 したがって-

x = x+1;

is the same as

x++;

そして同様に-

x = x-1;

is the same as

x--;

インクリメント演算子とデクリメント演算子はどちらも、オペランドの前(プレフィックス)または後(ポストフィックス)に使用できます。 たとえば-

x = x+1;

can be written as

++x;//prefix form

または-

x++;//postfix form

増分または減分が式の一部として使用される場合、接頭辞形式と接尾辞形式に重要な違いがあります。 プレフィックス形式を使用している場合は、式の残りの前にインクリメントまたはデクリメントが行われ、ポストフィックス形式を使用している場合は、式全体が評価された後にインクリメントまたはデクリメントが行われます。

以下は、この違いを理解するための例です-

#include <iostream>
using namespace std;

main() {
   int a = 21;
   int c ;

  //Value of a will not be increased before assignment.
   c = a++;
   cout << "Line 1 - Value of a++ is :" << c << endl ;

  //After expression value of a is increased
   cout << "Line 2 - Value of a is :" << a << endl ;

  //Value of a will be increased before assignment.
   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