• [^] # Re: Quel est l'intérêt ?

    Posté par . En réponse au journal C++ vin va vous faire tourner en barrique !. Évalué à 3. Dernière modification le 18 septembre 2020 à 22:08.

    Le problème des headers est qu'ils sont interprétés des tonnes de fois. Même avec des gardes, c'est lu et relu pour chaque unité de compilation les utilisant.

    D'où les non-standards headers précompilés, oui.

    Je suis curieux, comme zenitram: le but est vraiment "juste" l'accélération de la compilation?
    Personnellement, j'en suis venu à ne pas mettre de directives de précompilation dans mes headers, ni même d'y utiliser des namespaces.
    Oui, ça implique que chaque source qui les inclue doive faire le boulot, mais la compilation est rapide et en cadeau bonus il est aisément possible de passer d'une lib à une autre: il suffit de mettre "using std::vector;" ou "using foo::vector;" avant l'include.
    Bien sûr, ça a ses inconvénients, mais aussi des avantages, notamment pour de petits codes sources.
    J'ai un petit outil pour lequel l'usage de mon propre vector divise par 2 la taille du binaire, notamment. J'ai pas fait de mesure pour les autres métriques (temps d'exécution moyen et consommation en ram) cela dis. Et je parle de vector ici, du conteneur le plus simple.

    Je pense l'avoir déjà dis, mais peut-être que le problème de vitesse de compilation de C++, c'est juste que les gens font de la merde, à tout inclure comme des porcs sans réfléchir?

    Aussi, je me pose la question de la simplicité (trompeuse) de communication avec le C, qui (malgré qu'elle soit trompeuse) est un des avantages du C++.

    Tout ça ne veux ni dire que je suis contre les modules, ni dire qu'ils n'ont aucun intérêt (je ne suis pas sûr de l'intérêt, et qu'ils soient la ou non m'indiffère pour l'instant).