• [^] # Re: Dépêche actuelle et la suite

    Posté par (site web personnel) . En réponse à la dépêche Les coulisses du standard C++. Évalué à 4.

    C++17 à l'école primaire


    auto i{0}

    C'est barmic qui a la meilleure intuition pour la raison du auto i{0} à la place de int i=0 :
    C'est une nouveauté de C++17 introduite par la Technical Specification N3922 "New Rules for auto deduction from braced-init-list" (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3922.html). Cette image doit illustrer cette nouveauté (et donc l'exemple fonctionne avec C++17 seulement). Mais n'en parlons pas trop tôt, gardons cette discussion pour la dépêche n°3...

    Promis, je vais générer une autre image avec :

    for (int i = 0; i < 100; ++i)

    std::endl

    Et c'est whity qui a trouvé une des raisons du "\n" à la place de << std::endl. Mais la raison principale est l'espace utilisé sur le tableau. Je voulais le code le plus simple, le moins large, avec le moins d’accolades...

    Qui préfère l'écriture ci-dessous ?

    int main()
    { 
     for (auto i{0}; i < 100; ++i)
     std::cout
     << "Je ne dois pas jeter d'avion en papier en classe"
     << std::end; 
    }

    Ou encore, cette autre alternative ?

    int main()
    { 
     for (auto i{0}; i < 100; ++i)
     std::cout <<
     "Je ne dois pas jeter"
     "d'avion en papier"
     "en classe" "\n"; 
    }

    L'objectif étant de trouver un bon compromis entre élégance du C++ et la rapidité de compréhension du code.

    Promis aussi, je vais mettre ce gros fichier XCF (178 Mo) quelque part pour que vous puissiez facilement personnaliser le texte du tableau ;-)

    Commentaire sous licence Creative Commons Zero CC0 1.0 Universal (Public Domain Dedication)