• [^] # Re: Namespace bits ?

    Posté par . En réponse au journal Jouons avec le ``switch`` et C++17. Évalué à 4.

    On peut faire du code lisible en perl, on peut fait du code lisible en c++17, on peut faire du code lisible en python; l'inverse est aussi vrai, c'est plus facile selon les langages;

    Les folding expression sont une simplification de ce qu'il est possible de faire avec les variadic templates.

    les variadic template permettent dans pas mal de cas une simplification d'écriture et un code plus clair. Et cela faisait partie du package C++11 qui lui a vraiment donné un coup de jeune au langage, permettant de le rendre beaucoup plus lisible, et facile à coder.

    de nombreux logiciels imposent l'utilisation d'un C++ allégé (sans templates, sans héritage multiple, sans pointeurs nus...)

    • sans templates ? pas de std::map ? pas de std::vector? pas de sort? pas de std::string? pas de shared_ptr ? pas de pair/tuple, pas de sort, pas de fill

    • sans héritage multiple je peut comprendre, ça peut être perturbant, mais c'est bien pratique.

    • sans pointeurs nus, arf, donc pas de pointeur du tout, vu que pas de template... Moi j'ai une politique plus pragmatique pas d'écriture de new (et donc pas de delete) sauf cas très particulier, et commenté. Que des make_shared<> ou make_unique<>. Si un paramètre est un pointeur il est optionnel, sinon on passe une ref, depuis c++17 on a std::optional;

    Bref, a part les destructeurs et surcharge d'opérateurs, et la gestion des const, il ne reste plus grand chose de c++...

    les templates bien utilisés permettent d'éviter la duplication de code, et en améliorent la maintenabilité.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent