Usar Incremento/Decremento Previo y Posterior (++i, i++)
En este paso, aprenderás sobre los operadores de incremento y decremento en C++. Estos operadores te permiten aumentar o disminuir el valor de una variable en 1, con sutiles diferencias entre el incremento previo y el incremento posterior.
Abre el WebIDE y crea un nuevo archivo llamado increment_decrement.cpp
en el directorio ~/project
:
touch ~/project/increment_decrement.cpp
Agrega el siguiente código al archivo 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;
}
Compila y ejecuta el programa:
g++ increment_decrement.cpp -o increment_decrement
./increment_decrement
Ejemplo de salida:
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
Diferencias clave:
- Incremento previo
++i
: Incrementa el valor antes de que se use en la expresión. En el ejemplo de código, ++a
primero incrementa a
a 6
, y luego el valor 6
se usa en la instrucción cout
.
- Incremento posterior
i++
: Utiliza el valor actual en la expresión primero, y luego incrementa el valor. En el ejemplo de código, b++
primero utiliza el valor actual de b
, que es 5
, en la instrucción cout
, y luego incrementa b
a 6
.
Los mismos principios se aplican a los operadores de decremento --i
y i--
, donde --i
decrementa primero y luego utiliza el valor, y i--
utiliza el valor primero y luego decrementa.
Notas importantes:
- El incremento previo cambia el valor antes de que se use en una expresión, lo que significa que el valor incrementado está inmediatamente disponible para su uso.
- El incremento posterior utiliza el valor original primero y luego incrementa. Esto significa que obtienes el valor original en la declaración actual y el valor incrementado en la siguiente.
- Estos operadores se utilizan comúnmente en bucles (como los bucles
for
) y expresiones complejas donde se desea modificar una variable mientras se utiliza su valor.
- Al utilizar estos operadores, especialmente en expresiones complejas, es importante tener en cuenta si se necesita la versión previa o posterior para obtener el comportamiento deseado.