Utiliser les opérateurs d'incrémentation/décrémentation préfixés et postfixés (++i, i++)
Dans cette étape, vous apprendrez à utiliser les opérateurs d'incrémentation et de décrémentation en C++. Ces opérateurs vous permettent d'augmenter ou de diminuer la valeur d'une variable de 1, avec des différences subtiles entre l'incrémentation préfixée et l'incrémentation postfixée.
Ouvrez le WebIDE et créez un nouveau fichier appelé increment_decrement.cpp
dans le répertoire ~/project
:
touch ~/project/increment_decrement.cpp
Ajoutez le code suivant au fichier increment_decrement.cpp
:
#include <iostream>
int main() {
// Incrémentation préfixée (++i)
int a = 5;
std::cout << "Valeur originale de a: " << a << std::endl;
// Incrémentation préfixée : l'incrémentation se produit avant l'utilisation de la valeur
std::cout << "Incrémentation préfixée (++a): " << ++a << std::endl;
std::cout << "Valeur après incrémentation préfixée: " << a << std::endl;
// Incrémentation postfixée (i++)
int b = 5;
std::cout << "\nValeur originale de b: " << b << std::endl;
// Incrémentation postfixée : l'incrémentation se produit après l'utilisation de la valeur
std::cout << "Incrémentation postfixée (b++): " << b++ << std::endl;
std::cout << "Valeur après incrémentation postfixée: " << b << std::endl;
// Les opérateurs de décrémentation fonctionnent de la même manière
int c = 5;
std::cout << "\nDécrémentation préfixée (--c): " << --c << std::endl;
int d = 5;
std::cout << "Décrémentation postfixée (d--): " << d-- << std::endl;
std::cout << "Valeur après décrémentation postfixée: " << d << std::endl;
return 0;
}
Compilez et exécutez le programme :
g++ increment_decrement.cpp -o increment_decrement
./increment_decrement
Exemple de sortie :
Valeur originale de a: 5
Incrémentation préfixée (++a): 6
Valeur après incrémentation préfixée: 6
Valeur originale de b: 5
Incrémentation postfixée (b++): 5
Valeur après incrémentation postfixée: 6
Décrémentation préfixée (--c): 4
Décrémentation postfixée (d--): 5
Valeur après décrémentation postfixée: 4
Principales différences :
- Incrémentation préfixée
++i
: Incrémente la valeur avant qu'elle ne soit utilisée dans l'expression. Dans l'exemple de code, ++a
incrémente d'abord a
à 6
, puis la valeur 6
est utilisée dans l'instruction cout
.
- Incrémentation postfixée
i++
: Utilise d'abord la valeur actuelle dans l'expression, puis incrémente la valeur. Dans l'exemple de code, b++
utilise d'abord la valeur actuelle de b
, qui est 5
, dans l'instruction cout
, puis incrémente b
à 6
.
Les mêmes principes s'appliquent aux opérateurs de décrémentation --i
et i--
, où --i
décrémente d'abord la valeur puis l'utilise, et i--
utilise d'abord la valeur puis la décrémente.
Notes importantes :
- L'incrémentation préfixée modifie la valeur avant qu'elle ne soit utilisée dans une expression, ce qui signifie que la valeur incrémentée est immédiatement disponible pour utilisation.
- L'incrémentation postfixée utilise d'abord la valeur originale, puis l'incrémente. Cela signifie que vous obtenez la valeur originale dans l'instruction actuelle et la valeur incrémentée dans la suivante.
- Ces opérateurs sont couramment utilisés dans les boucles (comme les boucles
for
) et les expressions complexes où vous souhaitez modifier une variable tout en utilisant sa valeur.
- Lorsque vous utilisez ces opérateurs, surtout dans des expressions complexes, il est important de garder à l'esprit si vous avez besoin de la version préfixée ou postfixée pour obtenir le comportement souhaité.