Mais... Si on vire les headers, ça implique que tout le code habituellement un peu crado des #define qui permet une relative portabilité, celui que l'on collait dans les header parce qu'au fond c'est bien là leur place, là ou l'on définit que le code doit se compiler différemment que l'on compile pour WIN32 (je me demande d'ailleurs, WIN32, pour les nouveaux windows 64b, ça fait pas un poil ironique?) pour POSIX ou pour MICHU (ah non, pardon, ça le nom d'une table de bdd...
) va se retrouver au milieu de l'implémentation?
Idem pour les macros?
Bon, je sais que l'on a tendance à le limiter au maximum, et que des #ifdef se retrouvent au final dans le cpp, mais les macros (qui bien que d'usage limité peuvent encore servir, parce que ça évite d'apprendre une librairie boost et les astuces genre ## sont parfois utiles) et la majorité du code relatif au pré-processeur se retrouvais dans les header...
Tiens, maintenant que j'y songe, pareil pour les template?
Je pense que la distinction header/implémentation tenait pas mal au fait que le header, ça se compile pas (d'où l'implémentaion des template contenue dedans, ou dans un fichier inclus par le header). Je me trompe?
Partager