[C++] Curiosité et compréhension
Résolu
Tiradus
Messages postés
235
Date d'inscription
Statut
Membre
Dernière intervention
-
Tiradus Messages postés 235 Date d'inscription Statut Membre Dernière intervention -
Tiradus Messages postés 235 Date d'inscription Statut Membre Dernière intervention -
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é :
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
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
A voir également:
- [C++] Curiosité et compréhension
- Devolo wifi compréhension du fonctionnement. - Forum CPL
1 réponse
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.
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.
Merci bien pour ta réponse, qui m'aura permis d'apprendre quelque chose! :)
Je te souhaite une bonne journée,
Tiradus