Operadores de incremento e decremento C ++

O operador de incremento ++ adiciona 1 ao seu operando, e o operador de decremento - subtrai 1 do seu operando. Assim -

x = x+1;
 
is the same as
 
x++;

E da mesma forma -

x = x-1;
 
is the same as
 
x--;

Os operadores de incremento e decremento podem preceder (prefixar) ou seguir (pós-fixar) o operando. Por exemplo -

x = x+1;
 
can be written as
 
++x; // prefix form

ou como -

x++; // postfix form

Quando um incremento ou decremento é usado como parte de uma expressão, há uma diferença importante nas formas de prefixo e pós-fixada. Se você estiver usando a forma de prefixo, o incremento ou decremento será feito antes do resto da expressão, e se você estiver usando a forma de pós-fixado, o incremento ou decremento será feito depois que a expressão completa for avaliada.

Exemplo

A seguir está o exemplo para entender essa diferença -

#include <iostream>
using namespace std;
 
main() {
   int a = 21;
   int c ;
 
   // Value of a will not be increased before assignment.
   c = a++;   
   cout << "Line 1 - Value of a++ is :" << c << endl ;
 
   // After expression value of a is increased
   cout << "Line 2 - Value of a is :" << a << endl ;
 
   // Value of a will be increased before assignment.
   c = ++a;  
   cout << "Line 3 - Value of ++a is  :" << c << endl ;
   return 0;
}

Quando o código acima é compilado e executado, ele produz o seguinte resultado -

Line 1 - Value of a++ is :21
Line 2 - Value of a is :22
Line 3 - Value of ++a is  :23