C++ の加算代入演算子とインクリメント演算子

Ilja Kostenko 2023年10月12日
  1. C++ の加算代入演算子+=
  2. C++ の接尾辞インクリメントおよびデクリメント演算子++
  3. C++ での+= 演算子と++ 演算子の違い
C++ の加算代入演算子とインクリメント演算子

この記事では、C++ での加算代入演算子+= とインクリメント演算子++ の概念と使用法について説明します。

C++ の加算代入演算子+=

+= 加算代入演算子は、変数に値を加算し、その結果を代入します。2 種類のオペランドは、+= 加算代入演算子の動作を決定します。

例:

#include <iostream>
using namespace std;

int main() {
  int a = 10;
  printf("Value of a is %d\n", a);
  // Assigning value by adding 10 to variable a
  // using "+=" operator
  a += 10;
  printf("Value of a is %d\n", a);
}

出力:

Value of a is 10
Value of a is 20

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

演算子は、接尾辞式の後に表示されます。接尾辞インクリメント演算子++ を使用すると、オペランドの値が対応するタイプの 1 単位だけ増加します。

接尾辞のインクリメントまたはデクリメント式は、対応する演算子を適用する前にその値を評価することに注意してください。

関数の引数に接尾辞演算子が適用されているとします。その場合、引数値のインクリメントまたはデクリメントは、関数に渡される前に必ずしも実行されるとは限りません。

後置インクリメント演算子の例を以下に示します。

#include <iostream>
using namespace std;

int main() {
  int i = 10;
  i++;
  cout << i << endl;
}

出力:

11

C++ での+= 演算子と++ 演算子の違い

+= 演算子と++ 演算子はどちらも、n の値を 1 だけ増やします。

違いは、戻り値がポストインクリメント演算子++ のプレインクリメント値であるということです。対照的に、加算代入演算子+= の場合は、ポストインクリメント値を返します。

最初のケース:ポストインクリメント++ 演算子。

#include <iostream>
using namespace std;

int main() {
  int n = 5;
  int new_var;
  new_var = n++;
  printf("Output: ");
  printf("%d", new_var);
}

出力:

Output: 5

2 番目のケース:加算代入+= 演算子。

#include <iostream>
using namespace std;

int main() {
  int n = 5;
  int new_var;
  n += 1;
  new_var = n;
  printf("Output: ");
  printf("%d", new_var);
}

出力:

Output: 6

関連記事 - C++ Operator