Operadores de incremento y decremento de C ++

El operador de incremento ++ suma 1 a su operando y el operador de decremento - resta 1 de su operando. Así

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

Y de manera similar -

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

Tanto los operadores de incremento como de decremento pueden preceder (prefijo) o seguir (sufijo) al operando. Por ejemplo

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

o como -

x++; // postfix form

Cuando se usa un incremento o decremento como parte de una expresión, existe una diferencia importante en las formas de prefijo y sufijo. Si está utilizando la forma de prefijo, el incremento o la disminución se realizará antes del resto de la expresión, y si está utilizando la forma de sufijo, el incremento o la reducción se realizará después de que se evalúe la expresión completa.

Ejemplo

A continuación se muestra el ejemplo para comprender esta diferencia:

#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;
}

Cuando se compila y ejecuta el código anterior, produce el siguiente resultado:

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