Post-incrémentation / Post-décrémentation
Fait partie de la section Fondamentaux du Journey C++ de Coddy. Leçon 19 sur 74.
Dans la leçon précédente, nous avons abordé les opérateurs d’incrémentation (++) et de décrémentation (--). Ces opérateurs ont deux formes : préfixe et postfixe.
La forme préfixe s’écrit avant la variable (par exemple, ++x ou --x), et la forme postfixe s’écrit après la variable (par exemple, x++ ou x--).
Savoir quelle forme utiliser est important en pratique. Par exemple, dans un jeu, tu peux suivre le score d’un joueur avec score++ après chaque coup, ou utiliser --lives pour refléter immédiatement une vie perdue avant de vérifier si la partie est terminée. Dans les boucles, le choix entre la forme préfixée et la forme postfixée peut déterminer quelle valeur est utilisée dans une expression avant ou après la mise à jour.
La différence entre les deux formes est subtile, mais importante :
- Forme préfixe : incrémente/décrémente la variable, puis renvoie la nouvelle valeur.
- Forme postfixe : renvoie la valeur actuelle de la variable, puis l’incrémente/la décrémente.
Voici un exemple pour illustrer la différence :
int x = 5;
int y = x++;
// y = 5, x = 6 (postfixe : y obtient la valeur d'origine, puis x est incrémenté)
int a = 5;
int b = ++a;
// b = 6, a = 6 (préfixe : a est incrémenté d'abord, puis b obtient la nouvelle valeur)Dans le premier cas, y reçoit la valeur originale de x (5), puis x est incrémenté à 6. Dans le second cas, a est d’abord incrémenté, puis sa nouvelle valeur (6) est attribuée à b.
La même logique s’applique à l’opérateur de décrémentation :
int x = 5;
int y = x--;
// y = 5, x = 4 (postfixe : y obtient la valeur d'origine, puis x est décrémenté)
int a = 5;
int b = --a;
// b = 4, a = 4 (préfixe : a est d'abord décrémenté, puis b obtient la nouvelle valeur)Défi
DébutantOn vous donne un code avec les initialisations de x, y et z. (Ne supprimez pas ces lignes !)
Votre tâche consiste à utiliser les opérateurs d’incrémentation et de décrémentation pour effectuer les opérations suivantes, dans cet ordre :
- Utilisez l’opérateur d’incrémentation postfixé pour affecter la valeur actuelle de
xàa, puis incrémentezx. - Utilisez l’opérateur de décrémentation préfixé pour décrémenter
yet affecter sa nouvelle valeur àb. - Utilisez l’opérateur de décrémentation postfixé pour affecter la valeur actuelle de
zàc, puis décrémentezz.
Après avoir effectué ces opérations, affichez les valeurs de a, b, c, x, y et z dans la console au format suivant :
a: [value of a]
b: [value of b]
c: [value of c]
x: [value of x]
y: [value of y]
z: [value of z]Essayez vous-même
#include <iostream>
int main() {
int x = 10;
int y = 20;
int z = 30;
int a, b, c;
// Tapez votre code ci-dessous
// Ne modifiez pas les lignes ci-dessous
std::cout << "a: " << a << std::endl;
std::cout << "b: " << b << std::endl;
std::cout << "c: " << c << std::endl;
std::cout << "x: " << x << std::endl;
std::cout << "y: " << y << std::endl;
std::cout << "z: " << z << std::endl;
return 0;
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloIncrémentation / DécrémentationPost-incrémentation / Post-décrémentationRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Bases des entrées/sorties
Instruction coutInstruction cinSaisie de chaînes de caractèresRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux3Variables - Partie 2
Déclaration de typeConventions de nommageRécapitulatif - Initialisation des variablesType Casting - Partie 1Type Casting - Partie 26Prise de décision
L'instruction IfIf - ElseL'instruction SwitchOpérateur conditionnelRécapitulatif - If ElseIf - Else imbriquésEntraînez-vous par vous-même : Compilateur C++ en ligne