Różnica między operatorami zwiększania i zmniejszania

Jak chyba zauważyłeś istnieją dwa rodzaje operatorów zwiększania ++zmienna oraz zmienna++. Różnica miedzy zmienna++, a ++zmienna jest niewielka, ale istotna. Np mamy taki fragment kodu:
int x=10;
funkcja(x++);
W tym wypadku najpierw zostanie wywołana funkcja(10), a później x zostanie zwiększony. Natomiast gdy zastosujemy w tym miejscu drugi operator:
funkcja(++x);
to najpierw x zostanie zwiększony a potem wywołana funkcja, a wiec będzie funkcja(11).
Podsumowując operator ++x, jest najwcześniej wykonywany, przed wywołaniem funkcji natomiast x++, jest wykonywany po zakończeniu wszystkich operacji w danej instrukcji. To samo dotyczy operatorów zmniejszania. --x i x--
Przyjrzyj się dołączonemu kodowi źródłowemu. Funkcja zwraca tam wartość x taką jaką dostała przy wywołaniu. Stosując wszystkie 4 operatory mamy 3 różne wyniki.

plusy.cpp