Salut tout le monde ,
ma question est la quelle est la meilleur pratique , c'est de mettre les .h dans les headers eux même ou sur la source cpp ?
Merci de vos réponses .
Salut tout le monde ,
ma question est la quelle est la meilleur pratique , c'est de mettre les .h dans les headers eux même ou sur la source cpp ?
Merci de vos réponses .
C'est de ne les mettre que là où on en a réellement besoin.
A ce sujet tu peux lire ceci :
http://c.developpez.com/faq/cpp/?pag...er_compilation
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
Ouups !!!,
je crois que je me suis mal exprimer en faite il s'agit des instructions Include .
quelle est la bonne pratique les mettres sur le .Cpp ou .h ?
Je pense que c'est bien là la question à laquelle Laurent a répondu.
Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.
Que te dire à part de relire le message de Laurent ...
La meilleure pratique, c'est de les mettre là ou tu en as besoin.
Quand tu n'as besoin que du nom d'un type dans un header (content une déclaration de classe par exemple), si type est une classe on écrit ceci :
Et dans le cpp, comme tu te sers des attributs et fonctions membres de type, tu dois forcément inclure le header dans lequel tout ceci est déclaré.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 class type; class AutreClasse { /* utilisation de "type" */ }
Donc encore une fois, relis bien le lien de Laurent.
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Merci à vous tous,
je viens de comprendre qu'il s'agit de besoin et non de bonne pratiques.
Merci encore.
![]()
Une autre "bonne pratique" est de crées des headers pour regrouper les templates ensemble et les fonction inline ensemble.
cf FAQ :
avec pour les inlines
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 // exemple.h #ifndef EXEMPLE_H #define EXEMPLE_H template <typename T> class Exemple { public: Exemple(); }; #include "exemple.tpp" // <-- astuce ici !!! #endif
Après la déclaration de la classe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 #include "exemple.inl" // ou une autre extension
Ce n'est pas "parce que c'est joli" ou "parce que tout le monde fait comme ça" que cette méthode est utilisée. Il y a bien un gain de temps de compilation et une réduction des dépendances lors de l'utilisation des techniques données dans le lien...
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Partager