IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

question à propos une instruction c++


Sujet :

C++

  1. #1
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 11
    Par défaut question à propos une instruction c++
    Salut ,
    je suis débutante en langage c++. Pouvez - vous m'expliquer cette instruction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    double w = tab[i]?tab[i]:0.00001;
    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 150
    Par défaut
    Bonjour,

    C'est ce qu'on appelle une condition ternaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (expr1) ? expr2 : expr3
    Si expr1 est vrai => expr2 est lu
    Sinon expr3 est lu

    Le résultat peut-être stocker dans une variable (comme dans votre exemple).

  3. #3
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 11
    Par défaut
    Merci

  4. #4
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    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) );
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Question à propos de instruction IN
    Par yann458 dans le forum x86 32-bits / 64-bits
    Réponses: 0
    Dernier message: 07/01/2012, 13h15
  2. Réponses: 21
    Dernier message: 09/02/2008, 23h09
  3. Encore une question à propos des jar & du classpath
    Par ®om dans le forum Général Java
    Réponses: 4
    Dernier message: 19/07/2007, 13h46
  4. Petite question à propos d'une requete
    Par ViBy dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/09/2004, 12h21
  5. Une question à propos des thread
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/11/2003, 14h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo