Usar Pré e Pós Incremento/Decremento (++i, i++)
Nesta etapa, você aprenderá sobre os operadores de incremento e decremento em C++. Esses operadores permitem que você aumente ou diminua o valor de uma variável em 1, com diferenças sutis entre pré-incremento e pós-incremento.
Abra o WebIDE e crie um novo arquivo chamado increment_decrement.cpp no diretório ~/project:
touch ~/project/increment_decrement.cpp
Adicione o seguinte código ao arquivo increment_decrement.cpp:
#include <iostream>
int main() {
// Pre-increment (++i)
int a = 5;
std::cout << "Original value of a: " << a << std::endl;
// Pre-increment: increment happens before the value is used
std::cout << "Pre-increment (++a): " << ++a << std::endl;
std::cout << "Value after pre-increment: " << a << std::endl;
// Post-increment (i++)
int b = 5;
std::cout << "\nOriginal value of b: " << b << std::endl;
// Post-increment: increment happens after the value is used
std::cout << "Post-increment (b++): " << b++ << std::endl;
std::cout << "Value after post-increment: " << b << std::endl;
// Decrement operators work similarly
int c = 5;
std::cout << "\nPre-decrement (--c): " << --c << std::endl;
int d = 5;
std::cout << "Post-decrement (d--): " << d-- << std::endl;
std::cout << "Value after post-decrement: " << d << std::endl;
return 0;
}
Compile e execute o programa:
g++ increment_decrement.cpp -o increment_decrement
./increment_decrement
Exemplo de saída:
Original value of a: 5
Pre-increment (++a): 6
Value after pre-increment: 6
Original value of b: 5
Post-increment (b++): 5
Value after post-increment: 6
Pre-decrement (--c): 4
Post-decrement (d--): 5
Value after post-decrement: 4
Principais diferenças:
- Pré-incremento
++i: Incrementa o valor antes de ser usado na expressão. No exemplo de código, ++a primeiro incrementa a para 6, e então o valor 6 é usado na instrução cout.
- Pós-incremento
i++: Usa o valor atual na expressão primeiro, e então incrementa o valor. No exemplo de código, b++ primeiro usa o valor atual de b, que é 5, na instrução cout, e então incrementa b para 6.
Os mesmos princípios se aplicam aos operadores de decremento --i e i--, onde --i decrementa primeiro e depois usa o valor, e i-- usa o valor primeiro e depois decrementa.
Notas importantes:
- O pré-incremento altera o valor antes de ser usado em uma expressão, o que significa que o valor incrementado está imediatamente disponível para uso.
- O pós-incremento usa o valor original primeiro e depois incrementa. Isso significa que você obtém o valor original na instrução atual e o valor incrementado na próxima.
- Esses operadores são comumente usados em loops (como loops
for) e expressões complexas onde você deseja modificar uma variável enquanto também usa seu valor.
- Ao usar esses operadores, especialmente em expressões complexas, é importante ter em mente se você precisa da versão pré ou pós para obter o comportamento desejado.