Question bete....

Résolu
cs_lapinfroid Messages postés 8 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 2 mai 2007 - 2 mai 2007 à 11:27
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 2 mai 2007 à 19:03
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

BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
2 mai 2007 à 11:40
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
3
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
2 mai 2007 à 11:52
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
3
cs_lapinfroid Messages postés 8 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 2 mai 2007
2 mai 2007 à 14:28
merci pour cette reponse rapide   
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
2 mai 2007 à 19:03
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++
0
Rejoignez-nous