Operatori di incremento e decremento in forma prefissa
Gli operatori unari (++
e --) vengono chiamati operatori di decremento o incremento di "prefisso", quando gli stessi operatori di decremento o incremento si trovano prima dell'operando. Decremento e incremento suffisso hanno maggiore precedenza, rispetto ad incremento e decremento prefisso. L'operando deve avere un tipo integrale, mobile o puntatore e deve essere un'espressione l-value modificabile (un'espressione senza l'attributo const
). Il risultato è un l-value.
Quando l'operatore si trova prima del suo operando, l'operando viene incrementato o decrementato e il suo nuovo valore corrisponde al risultato dell'espressione.
Un operando di tipo integrale o mobile viene incrementato o decrementato dell'intero 1. Il tipo del risultato è uguale al tipo di operando. Un operando di tipo puntatore viene incrementato o decrementato alle dimensioni dell'oggetto che indirizza. Un puntatore incrementato punta all'oggetto successivo; mentre un puntatore decrementato punta all'oggetto precedente.
Esempio
In questo esempio viene illustrato l'operatore di decremento prefisso unario:
if( line[--i] != '\n' )
return;
In questo esempio, la variabile i
viene decrementata prima di essere utilizzata come indice in line
.