Operatori di incremento e decremento C ++

L'operatore di incremento ++ aggiunge 1 al suo operando e l'operatore di decremento - sottrae 1 dal suo operando. Quindi -

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

E allo stesso modo -

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

Entrambi gli operatori di incremento e decremento possono precedere (prefisso) o seguire (suffisso) l'operando. Ad esempio:

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

o come -

x++; // postfix form

Quando un incremento o un decremento viene utilizzato come parte di un'espressione, vi è un'importante differenza nelle forme prefisso e suffisso. Se si utilizza la forma del prefisso, l'incremento o il decremento verrà eseguito prima del resto dell'espressione e, se si utilizza il modulo suffisso, l'incremento o il decremento verranno eseguiti dopo la valutazione dell'espressione completa.

Esempio

Di seguito è riportato l'esempio per comprendere questa differenza:

#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 il codice precedente viene compilato ed eseguito, produce il seguente risultato:

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