Salut ,
je suis débutante en langage c++. Pouvez - vous m'expliquer cette instruction:
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part double w = tab[i]?tab[i]:0.00001;
Salut ,
je suis débutante en langage c++. Pouvez - vous m'expliquer cette instruction:
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part double w = tab[i]?tab[i]:0.00001;
Bonjour,
C'est ce qu'on appelle une condition ternaire :
Si expr1 est vrai => expr2 est lu
Code : Sélectionner tout - Visualiser dans une fenêtre à part (expr1) ? expr2 : expr3
Sinon expr3 est lu
Le résultat peut-être stocker dans une variable (comme dans votre exemple).
Merci
Formellement, ? : est un opérateur ternaire.
Il prend trois expressions comme opérandes, et constitue une expression, comme le ferait + ou /.
Sa valeur est comme l'a dit booMan:
cond ? a : b
a si cond est vrai, b sinon.
cond doit être convertible en booléen.
a et b doivent être du même type, qui sera le type complet.
Cela peut condenser un code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 int selon(...) { if (condition pas trop longue) { return fonction(un_argument_fixe, un_autre_argument_fixe, un_troisieme_argument_constant, 1); } else { return fonction(un_argument_fixe, un_autre_argument_fixe, un_troisieme_argument_constant, 2); } } //ou int selon(...) { return fonction(un_argument_fixe, un_autre_argument_fixe, un_troisieme_argument_constant, (condition pas trop longue ? 1 : 2) ); }
Partager