English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Exp1 ? Exp2 : Exp3;
où, Exp1et Exp2 et Exp3 est une expression. Notez l'utilisation et la position des points-virgules. La valeur de l'expression ? : dépend de Exp1 le résultat de la computation. Si Exp1 est vrai, alors calculer Exp2 valeur, et si Exp2 le résultat de la computation est la valeur de l'expression ? : complète. Si Exp1 est faux, alors calculer Exp3 valeur, et si Exp3 le résultat de la computation est la valeur de l'expression ? : complète.
? est appelé opérateur ternaire, car il nécessite trois opérandes, et peut être utilisé pour remplacer un if-else statement :
if(condition){ var = X; }else{ var = Y; }
Par exemple, regardez ce morceau de code ci-dessous :
if(y < 10){ var = 30; }else{ var = 40; }
Le code ci-dessus peut être réécrit en suivant ces instructions :
var = (y < 10) ? 30 : 40;
Ici, si y est inférieur à 10alors var est assignée la valeur 30, si y n'est pas inférieur à 10alors var est assignée la valeur 40. Voir l'exemple suivant :
#include <iostream> using namespace std; int main () { // Déclaration de variables locales int x, y = 10; x = (y < 10) ? 30 : 40; cout << "La valeur de x: " << x << endl; return 0; }
Lorsque le code suivant est compilé et exécuté, il produit les résultats suivants :
La valeur de x: 40