Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C++] symbole

& ? et :

Sujet résolu
    21 avril 2006 à 11:40:01

    Bonjour j'ai le morceau de code suivant mais je ne le comprend pas.


    const int & Max( const int & A, const int & B )
    {
        return A > B ? A : B;
    }


    et celui ci


    template<typename T>
    const T & Max( const T & A, const T & B )
    {
        return A > B ? A : B;
    }


    Pouvez vous m'expliquer ? merci
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      21 avril 2006 à 11:44:11

      Tu connais les ternaires? C'est expliqué ici
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        21 avril 2006 à 11:46:49

        - Utilises la balise <code>
        - Détailles ce que tu ne comprends pas
        - Ecris clairement si ce code est du C ou du C++ (ici, C++ il me semble).
        • Partager sur Facebook
        • Partager sur Twitter
          21 avril 2006 à 11:51:49

          dsl j'ai du zappé cette partie, je vais la relire.

          et le & a quoi correspond t-il ? je pensais que c'était pour des calculs au niveau des bits ?
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            21 avril 2006 à 12:21:15

            En C++ ça sert à utiliser des références, dans les arguments, ça veut dire que la variable que tu passes peut être modifiée par la fonction, alors que normalement elle est recopié pour la fonction.

            Mais après je me pose moi même deux questions : pourquoi passer par référence si la variable est const ? Et que signifie le & devant le nom de fonction ?
            • Partager sur Facebook
            • Partager sur Twitter
              21 avril 2006 à 12:36:25

              Citation : louisclem

              Mais après je me pose moi même deux questions : pourquoi passer par référence si la variable est const ? Et que signifie le & devant le nom de fonction ?


              Pour la même raison que l'on passe des pointeurs sur des structures constantes.
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                21 avril 2006 à 15:31:08

                Oui mais pour une structure il y a souvent un gain de vitesse à passer l'adresse plutôt que de la recopier, alors qu'avec un int... ^^ c'est sans doute plus utile avec le template, mais bon après tout ça c'est du C++ je connais pas assez :D
                • Partager sur Facebook
                • Partager sur Twitter

                [C++] symbole

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown