Implémentation d'une classe dans un header ? - C++ - Programmation
Marsh Posté le 27-05-2008 à 19:32:04
si tu veux tout inliner oui
néamoins la plus part des compilateurs modernes font l'optimisation à l'édition des liens, donc le inline dans le header perds de l'interêt.
si tu fais une bibliothèque, les méthodes a exporter doivent se retrouver dans un .cpp.
d'un point de vue maintenance de code tout avoir dans le header c'est ultra-crade.
l'édition des liens va rapidement péter un plomb suivant comment t'as foutu ton header bloatisé.
--
donc que ce soit d'un point de vue perfs ou qualité de code, essayer de tout mettre en vrac dans un header c'est chiant. (a la limite quelques getters inline dans le cas d'une bibliothèque)
Marsh Posté le 27-05-2008 à 20:06:53
ca reste obligatoire pr les classes & fonctions templates néanmoins
Marsh Posté le 27-05-2008 à 22:42:21
ok, merci je trouvais un peu inutile de faire pleins de fichiers pour les classes, les méthodes, le main ... mais apparement c'est ze rule
Marsh Posté le 27-05-2008 à 22:57:52
je peux t'assurer que quand il faut reprendre le projet d'un autre,
un header et un cpp par classe, nommés comme la classe c'est à des années-lumières plus pratique qu'un gros pataquès avec tout à la queue-leu-leu.
Marsh Posté le 28-05-2008 à 00:06:11
bjone a écrit : |
Devoir écrire tout les prototypes en double et les modifier en double quand y'a modification c'est pas franchement génial comme maintenance quand même
Marsh Posté le 28-05-2008 à 01:06:35
c'est chiant, mais c'est pas si long. et puis visual assist & co....
Marsh Posté le 28-05-2008 à 08:40:21
regarde CIMG ... 1 bibliotheque de 1 .h .... de + de 30k lignes ... paye ta maintenance :E
Marsh Posté le 27-05-2008 à 15:16:08
Bonjour,
j'aimerai savoir si c'est possible (recommandé) d'implémenter les méthodes d'une classe dans un header ? J'ai vu que généralement on fait un .h pour la classe, et un .cpp pour ses méthodes, mais est-ce qu'on peut tout regrouper dans un .h .... ca se fait ?
merci par avance
Message édité par in_your_phion le 27-05-2008 à 15:16:29