Os operadores de incremento (e decremento) têm como objetivo aumentar (ou diminuir) o valor de uma variável por 1.
Faz-se a partir de "++" ou "--" à frente ou atrás de uma variável (estar à frente ou atrás faz um pouco de diferença).
Como já devem ter reparado, o nome "C++" é "C" com um operador de incremento "++". Isto significa que o C++ "adiciona" algo à linguagem C. Dizendo ser de certa forma "superior". Muitos discordam e preferem a linguagem C, mas foi assim que nomearam C++, e foi por alguma razão!
Incremento (++)
Aumenta (incrementa) o valor da variável por 1. Escreve-se com "
++".
num é incrementado, passa a ser 6.
Tem o mesmo significado que colocar "+= 1" à frente da variável:
num é incrementado, passa a ser 6.
Mas também pode pôr-se atrás da variável.
Qual a diferença?
Neste caso, nenhuma. A diferença nota-se quando queremos mudar o valor enquanto usamos a variável.
Quando "++" está depois da variável, o é usado o valor primeiro e só depois é feito o incremento.
Quando "++" está antes da variável, primeiro é feito o incremento e o valor "final" é usado.
int num = 5;
cout << num++ << endl;
cout << ++num << endl;
Neste caso, é feito o print da variável
num para a consola duas vezes:
- Na primeira, acontece print da variável antes de ser incrementada, ou seja, output é 5.
- Como a variável foi incrementada (com "num++"), num é 6.
- Na segunda, a variável é incrementada primeiro, logo num é 7, e o output é 7.
Decremento (--)
Diminui (decrementa) o valor da variável por 1. Escreve-se com "--".
num é decrementado, passa a ser 1.
Tem o mesmo significado que colocar "-= 1" à frente da variável:
num é decrementado, passa a ser 1.
Assim como no "++", pode escrever-se atrás da variável, tendo o mesmo significado - se à frente, a variável é usada primeiro e depois decrementada; se atrás, a variável é decrementada primeiro e é usado o valor "final".
int num = 2;
cout << --num << endl;
Output é 1, dado que primeiro acontece o decremento da variável
num e depois é usado o valor.
Referências