C++ Opérateur conditionnel ? :

Opérateurs C++

Exp1 ? Exp2 : Exp3;

Ici, Exp1, Exp2 et Exp3 sont des expressions. Notez l'utilisation et le placement du deux-points. La valeur de l'expression ? : dépend du résultat de l'évaluation de Exp1. Si Exp1 est vrai, alors Exp2 est évaluée, et le résultat de Exp2 devient la valeur de toute l'expression ? :. Si Exp1 est faux, alors Exp3 est évaluée, et le résultat de Exp3 devient la valeur de toute l'expression ? :.

? est appelé l'opérateur ternaire car il nécessite trois opérandes et peut être utilisé pour remplacer les instructions if-else comme indiqué ci-dessous :

if(condition){
   var = X;
}else{
   var = Y;
}

Par exemple, jetez un œil au code suivant :

if(y < 10){ 
   var = 30;
}else{
   var = 40;
}

Le code ci-dessus peut être écrit sous la forme de l'instruction suivante :

var = (y < 10) ? 30 : 40;

Ici, si y est inférieur à 10, alors var se voit attribuer la valeur 30 ; si y n'est pas inférieur à 10, alors var se voit attribuer la valeur 40. Jetez un œil à l'exemple suivant :

Exemple

#include <iostream> using namespace std; int main () { // Déclaration de variable locale int x, y = 10; x = (y < 10) ? 30 : 40; cout << "valeur de x : " << x << endl; return 0; }

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant :

value of x: 40

Opérateurs C++

autres extensions