[Mini Sondage C++] Condition courte

Bonjour,

Ceci s'adresse aux programmeurs C++. Je voudrais juste savoir combien de personnes sont capables de tranformer cette mini condition de 4 lignes, en 1 seul ligne.

La condition à réduire :

if (a > b)
max = a;
else
max = b;

5 réponses

  1. Hello,

    Moi je sais :

    if (a > b) max = a; else max = b;

    Tadaaaaa ! :D

    Sinon la macro max ou dans un esprit c++ et standard, la fonction template de la STL:

    #include <algotithm>
    
    int max = ::std::max< int >( a, b );
    
    // ou juste
    
    int max = ::std::max( a, b );
    


    M.
    1. Inutile les macros ici.

      J'ai juste demander si quelqu'un est capable de transorformer la conditions ci dessus en 1 ligne. Pas d'incrémentation supplémentaire ...
      1. LOL, la macro max...

        resultat = max(a, b);

        mais attention, c'est une macro dont elle passe dans le préprocesseur... donc

        max(a++, b) donne en réalité
        ((a++) < (b) ? (b) : (a++))
        ce qui est invalide puisque la variable va être incrémenté 2 fois...