Operator inkrementacji w C++

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

Operator inkrementacji ++ zwiększa wartość zmiennej liczbowej o 1. W C++ występuje w dwóch podstawowych postaciach: preinkrementacji i postinkrementacji.

Preinkrementacja: ++a

Najpierw zwiększa wartość zmiennej, a dopiero potem zwraca jej nową wartość.

int a = 1;
cout << ++a; // wypisze 2

Kolejność działania:
1. a zwiększa się z 1 do 2,
2. do cout trafia wartość 2.

Postinkrementacja: a++

Najpierw zwraca aktualną wartość zmiennej, a dopiero potem zwiększa ją o 1.

int a = 1;
cout << a++; // wypisze 1
cout << a;   // wypisze 2

Kolejność działania:
1. wyrażenie a++ ma wartość 1,
2. po użyciu wyrażenia zmienna a zostaje zwiększona do 2.

Przykład w warunku pętli

int a = 1;
while (a++ < 6) {
    cout << a << " ";
}

Warunek sprawdza starą wartość a, ale wewnątrz pętli a jest już zwiększone. Dlatego wypisywane są liczby:

2 3 4 5 6

Gdy a ma wartość 6, warunek 6 < 6 jest fałszywy, ale po sprawdzeniu a zwiększa się jeszcze do 7. Ciało pętli nie zostaje już wykonane.

Najważniejsze do zapamiętania

  • ++a — najpierw zwiększ, potem użyj wartości.
  • a++ — najpierw użyj wartości, potem zwiększ.
  • W pytaniach egzaminacyjnych trzeba dokładnie śledzić wartość zmiennej przed i po sprawdzeniu warunku.