Question bete.... [Résolu]

Signaler
Messages postés
8
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
2 mai 2007
-
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Bonjour tout le monde
je reprends du code qui ne m appartient pas
et je suis tombé sur ca

Tab[17] = = 0?1:0

est ce que quelqu un peut me donner la signifiaction du ? suivi par un :

d avance merci !!!  
   

4 réponses

Messages postés
15034
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
14 mai 2021
94
Salut,
C'est l'oéprateur ternaire, qui se défini comme suit: condition ? expression_si_condition_vraie : expression_si_condition_fausse;
Dans ton cas, si Tab[17] vaut , "on fait 1", sinon, "on fait 0"

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
C'est une ecriture simplifié d'unc condition if.. else a une seule issue.
Exemple :

int i;
bool b;

if(i==1){
   b = true;
} else {
b = false;
}

Devient :

int i;
bool b;

i==1?b=true:b=false;

Shell
Messages postés
8
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
2 mai 2007

merci pour cette reponse rapide   
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
Tab[17] = = 0?1:0;
Se traduit par saut de code (JMP, goto en C), très mauvais pour les perfs.

Une bascule 1<=>0 se fait
Tab[17] = !Tab[17];
1 seul cycle sans saut.

ciao...
BruNews, MVP VC++