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.