• [^] # Re: Une vraie bibliothèque.....

    Posté par . En réponse au journal GREYCstoration : Appel à contribution. Évalué à 3.

    Si, ocaml fait une différence entre définition et déclaration... c'est la différence entre un .mli et un .ml -- ou un .cmi et un .cmo.

    Et non, renommer un .h en .c (ou .cpp, .cxx, .cc, etc) ne change rien : c'est toujours un fichier qu'il faut #includer pour l'utiliser plutôt que linker avec.

    Techniquement, le problème est que le C++ n'est pas un pur langage à part, il est construit sur le C. Or un fichier objet C ne peut contenir que des implémentations. Un foo n'est pas implémenté, donc ne peut trouver sa place dans un .o. Voir la faq C++ pour les détails.

    En résumé, mon résumé est correct : une lib avec template doit venir en .h, c'est normal.

    Que certains ne soient pas d'accord avec mon opinion ferme sur le C++ est une autre histoire.