Menu
Coddy logo textTech

後置インクリメント・デクリメント

CoddyのC++ジャーニー「基礎」セクションの一部 — レッスン 19/74。

前回のレッスンでは、インクリメント (++) 演算子とデクリメント (--) 演算子について学習しました。これらの演算子には、前置後置の2つの形式があります。

どちらの形式を使用すべきかを知ることは、実際のプログラムにおいて重要です。例えば、ゲームのスコアを追跡したり、ループの反復回数をカウントしたり、項目のリストを順に進めたりする場合などです。

前置形式は変数の前に記述され(例:++x または --x)、後置形式は変数の後に記述されます(例:x++ または x--)。

これら2つの形式の違いはわずかですが、重要です:

  • 前置形式:変数をインクリメント/デクリメントしてから、新しい値を返します。
  • 後置形式:変数の現在の値を返してから、インクリメント/デクリメントします。

違いを説明するための例を次に示します:

int x = 5;
int y = x++;
// y = 5, x = 6 (後置)

int a = 5;
int b = ++a;
// b = 6, a = 6 (前置)

最初のケースでは、yx の元の値(5)が代入され、その後 x は 6 にインクリメントされます。2番目のケースでは、a が最初にインクリメントされ、その後、その新しい値(6)が b に代入されます。

デクリメント演算子についても同じ論理が当てはまります:

int x = 5;
int y = x--;
// y = 5, x = 4 (後置)

int a = 5;
int b = --a;
// b = 4, a = 4 (前置)
challenge icon

チャレンジ

初心者

xy、および z の初期化が含まれたコードが与えられています。(これらの行は削除しないでください!)

あなたのタスクは、インクリメント/デクリメント演算子を使用して、以下の順序で操作を実行することです:

  1. 後置インクリメント演算子を使用して、x の現在の値を a に代入し、その後に x をインクリメントします。
  2. 前置デクリメント演算子を使用して、y をデクリメントし、その新しい値を b に代入します。
  3. 後置デクリメント演算子を使用して、z の現在の値を c に代入し、その後に z をデクリメントします。

これらの操作を実行した後、abcxy、および z の値を以下の形式でコンソールに出力してください:

a: [value of a]
b: [value of b]
c: [value of c]
x: [value of x]
y: [value of y]
z: [value of z]

チートシート

インクリメント (++) およびデクリメント (--) 演算子には2つの形式があります:

  • 前置形式 (++x, --x): 最初に変数をインクリメント/デクリメントし、その後に新しい値を返します
  • 後置形式 (x++, x--): 最初に現在の値を返し、その後に変数をインクリメント/デクリメントします

例:

int x = 5;
int y = x++;  // y = 5, x = 6 (後置)

int a = 5;
int b = ++a;  // b = 6, a = 6 (前置)

int x = 5;
int y = x--;  // y = 5, x = 4 (後置)

int a = 5;
int b = --a;  // b = 4, a = 4 (前置)

自分で試してみよう

#include <iostream>

int main() {
    int x = 10;
    int y = 20;
    int z = 30;
    
    int a, b, c;
    
    // 以下にコードを入力してください
    
    
    // 以下の行は変更しないでください
    std::cout << "a: " << a << std::endl;
    std::cout << "b: " << b << std::endl;
    std::cout << "c: " << c << std::endl;
    std::cout << "x: " << x << std::endl;
    std::cout << "y: " << y << std::endl;
    std::cout << "z: " << z << std::endl;
    
    return 0;
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン