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éfixée et postfixée.
La forme préfixée s'écrit avant la variable (par ex., ++x ou --x), et la forme postfixée s'écrit après la variable (par ex., x++ ou x--).
Savoir quelle forme utiliser est important en pratique. Par exemple, dans un jeu, vous pourriez 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 le préfixe et le suffixe peut affecter la valeur 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éfixée : Incrémente/décrémente la variable, puis retourne la nouvelle valeur.
- Forme postfixée : Retourne 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 reçoit 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é en premier, puis b reçoit la nouvelle valeur)Dans le premier cas, y reçoit la valeur d'origine 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 assigné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 (postfix : y reçoit 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 reçoit 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/décrémentation pour effectuer les opérations suivantes, dans cet ordre :
- Utilisez l'opérateur d'incrémentation postfixe pour affecter la valeur actuelle de
xàa, puis incrémentezx. - Utilisez l'opérateur de décrémentation préfixe pour décrémenter
yet affecter sa nouvelle valeur àb. - Utilisez l'opérateur de décrémentation postfixe 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és