カテゴリ: C++ 更新日: 2026/02/18

C++のインクリメント・デクリメント演算子を完全解説!初心者でもわかる ++ / -- の使い方

インクリメント・デクリメント演算子 (++/--)
インクリメント・デクリメント演算子 (++/--)

先生と生徒の会話形式で理解しよう

生徒

「C++のコードを見ていると、変数の横に++や--が付いていますが、これは何をしているんですか?」

先生

「それはインクリメント演算子とデクリメント演算子といって、数を一つ増やしたり減らしたりするための記号です」

生徒

「数字を一つ変えるだけなのに、わざわざ専用の書き方があるんですね」

先生

「とてもよく使う操作なので、短く安全に書けるように用意されているんです。基本から順番に説明します」

1. インクリメント・デクリメント演算子とは?

1. インクリメント・デクリメント演算子とは?
1. インクリメント・デクリメント演算子とは?

C++のインクリメント演算子とデクリメント演算子は、 変数に入っている数値を一つだけ増やす、または減らすための演算子です。 プログラミングでは、回数を数えたり、順番を管理したりする場面が非常に多く、 そのたびに一ずつ数を変える必要があります。 こうした操作を簡単に書くために用意されているのが、 ++ と -- という記号です。

2. インクリメント演算子「++」の基本

2. インクリメント演算子「++」の基本
2. インクリメント演算子「++」の基本

インクリメント演算子は、変数の値を一つ増やします。 たとえば、箱の中に五が入っていたら、 箱の中身を六に書き換えるようなイメージです。 数を数える作業を人の手で行うときと同じ感覚で使えます。


int count = 1;
count++;

std::cout << count << std::endl;

2

3. デクリメント演算子「--」の基本

3. デクリメント演算子「--」の基本
3. デクリメント演算子「--」の基本

デクリメント演算子は、インクリメントとは逆に、 変数の値を一つ減らします。 残り回数や残り人数を管理する場面でよく使われます。 紙に書いた数字を一つずつ消して減らしていく感覚と同じです。


int life = 5;
life--;

std::cout << life << std::endl;

4

4. 前置と後置の違い

4. 前置と後置の違い
4. 前置と後置の違い

インクリメントとデクリメントには、 変数の前に付ける書き方と、後ろに付ける書き方があります。 前に付ける場合は、先に数を変えてから使われ、 後ろに付ける場合は、使ってから数が変わります。 初心者の方は難しく感じやすいですが、 動きの順番の違いだと考えると理解しやすくなります。


int a = 3;
int b = a++;

std::cout << a << std::endl;
std::cout << b << std::endl;

4
3

5. 前置インクリメントの例

5. 前置インクリメントの例
5. 前置インクリメントの例

前置インクリメントは、 まず変数の値を一つ増やし、 その増えた値をそのまま使います。 順番が重要な処理では、 この違いが結果に影響します。


int x = 3;
int y = ++x;

std::cout << x << std::endl;
std::cout << y << std::endl;

4
4

6. よく使われる場面

6. よく使われる場面
6. よく使われる場面

インクリメント演算子とデクリメント演算子は、 繰り返し処理や回数の管理で頻繁に使われます。 例えば、何回処理を行ったかを数える場合や、 残り回数がいくつかを確認する場合です。 手作業で一つずつ数を数える感覚に近いため、 慣れると直感的に使えるようになります。

7. 初心者が注意したいポイント

7. 初心者が注意したいポイント
7. 初心者が注意したいポイント

++ や -- はとても便利ですが、 一行の中で何度も使うと動きが分かりにくくなります。 特に初心者のうちは、 一つの行では一つの変化だけを書く意識を持つと、 ミスを減らすことができます。 数がどう変わったのかを、 頭の中で追える書き方を心がけることが大切です。

8. インクリメントと代入の関係

8. インクリメントと代入の関係
8. インクリメントと代入の関係

インクリメント演算子は、 変数に一を足して代入しているのと同じ動きをします。 つまり、短く書ける便利な省略記法です。 こうした省略された書き方は、 C++のコードを読む上で必ず出てくるため、 早めに慣れておくと理解が楽になります。

カテゴリの一覧へ
新着記事
New1
Rust
Rustの所有権(Ownership)の仕組みを完全ガイド!初心者でもわかるメモリ安全とムーブ
New2
C++
C++開発環境を最適化する方法!初心者向けに徹底解説(GCC, Clang, Visual Studio, CMake)
New3
C++
C++のビルドツール(Make・Ninja・MSBuild)の違いを完全ガイド!初心者でもわかる開発環境構築
New4
C++
C++のsizeof演算子を完全解説!初心者でもわかる役割と使いどころ
人気記事
No.1
Java&Spring記事人気No1
C言語
Visual Studio CodeでC言語を実行する方法【拡張機能の設定と実行手順】
No.2
Java&Spring記事人気No2
C言語
C言語開発でよく使われるエディタとIDEランキング【初心者向け完全ガイド】
No.3
Java&Spring記事人気No3
C言語
C言語をオンラインで実行できる便利なコンパイラサービスまとめ【初心者向け】
No.4
Java&Spring記事人気No4
C++
C++の主要な実装をわかりやすく解説!GCC・Clang・MSVCの違いと特徴
No.5
Java&Spring記事人気No5
C言語
C言語を学ぶ初心者におすすめの環境構築手順【2025年版】
No.6
Java&Spring記事人気No6
C言語
C言語のソースコードとヘッダファイルの役割とは?初心者向けにわかりやすく解説!
No.7
Java&Spring記事人気No7
C++
CMakeの役割と導入方法をやさしく解説!C++開発環境構築ガイド
No.8
Java&Spring記事人気No8
C++
MinGWとMSYS2でWindowsにC++環境を構築する方法を徹底解説!初心者でもできるセットアップガイド