[C++] Curiosité et compréhension

Résolu/Fermé
Tiradus Messages postés 235 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 26 décembre 2011 - 26 févr. 2009 à 08:10
Tiradus Messages postés 235 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 26 décembre 2011 - 26 févr. 2009 à 08:21
Bonjour,

Pour commencer excusez moi, j'ai chercher un peux à gauche à droite, mais je n'ai trouvé aucune info.

En fait voilou, je trainais un peux sur le forum, puis je suis tombé sur ce post :

- http://www.commentcamarche.net/forum/affich 3686663 programmer avec dev c

Je ne suis vraiment pas connaisseur du langage C++ mais par curiosité j'ai jetté un coup d'oeil et ai essayé de comprendre ce programme tout simple proposé par "mamiemando".

J'ai tout compris hormis une petite subtilité :

int max(int x,int y){
    return (x < y ? y : x);
}


Il s'agit de la ligne du return. Quelqu'un aurait il l'amabilité de m'expliquer/traduire cette ligne, plus précisément à partir de "? y : x" .

Merci d'avance en vous souhaitant une bonne journée.

Tiradus

1 réponse

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
26 févr. 2009 à 08:17
Salut.
Il s'agît de l'opérateur ternaire if. Il permet d'écrire un test rapidement.
si tu as a?b:c c'est en gros égale à if(a) b;else c; la différence c'est qu'il retourne une valeur. Typiquement, dans le cas de la fonction max, ça fonctionne très bien et ne pose pas trop de problème de lisibilité.
En général, on essai de trop l'utiliser pour des raisons de lisibilité de code.
1
Tiradus Messages postés 235 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 26 décembre 2011 47
26 févr. 2009 à 08:21
Hello,

Merci bien pour ta réponse, qui m'aura permis d'apprendre quelque chose! :)

Je te souhaite une bonne journée,

Tiradus
0