Pesquisar aqui

sexta-feira, 22 de novembro de 2019

C++ - Operadores de incremento


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 "++".

int num = 5;

num++;
num é incrementado, passa a ser 6.

Tem o mesmo significado que colocar "+= 1" à frente da variável:

int num = 5;

num += 1;
num é incrementado, passa a ser 6.

Mas também pode pôr-se atrás da variável.

int num = 5;

++num;
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 "--".

int num = 2;

num--;
num é decrementado, passa a ser 1.

Tem o mesmo significado que colocar "-= 1" à frente da variável:

int num = 2;

num -= 1;
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

Sem comentários:

Enviar um comentário

Comente de forma construtiva...

Nota: só um membro deste blogue pode publicar um comentário.