dans l'article d6sqk8$jrp$, Marc Boyer à a écrit le 23/05/05 16:50 :
Non, non:
Bon deuxieme essai :-)
Et je réponds avec des exemples, puisque mon message, qui me semblait clair, ne l'était apparamment pas :-)
Dans hpp tout les includes necessaires au hpp. (apres #ifndef)
Oui. Comme je l'ai dit, ceci doit pouvoir compiler :
// Test.cpp #include "fichier.hpp" // C'est tout
Alors s'il y a des éléments dans fichier.hpp qui demandent des #include, par exemple des std::string qui demandent #include <string>, il faut les mettre dans fichier.hpp (après #ifndef mais c'est un détail qui n'a rien à voir avec la discussion ici).
Dans cpp tout les includes necessaires au cpp sauf ceux du hpp correspondant.
Je ne suis pas sûr que tu as compris, car je ne comprends pas ton « sauf ceux du hpp correspondant ». Alors un exemple :
// Essai.cpp #include ... #include <string> // Inclus parce que std::string est utilisé #include ... // dans le code plus loin, même si on pense // ou qu'on sait que <string> est inclus par #include "fichier.hpp" // un des autres #include, y compris le tien
std::string var; // C'est à cause de cette ligne qu'on voudra le // #include associé, explicitement, même si on // l'a aussi dans fichier.hpp
Par ailleurs, les #include doivent aussi pouvoir être inclus dans n'importe quel ordre et plusieurs fois. Contrairement à l'habitude, ça peut donc être une bonne idée d'inclure d'abord les fichiers personnels avant les #include standard.
Bon, j'espère que c'est clair maintenant :-)
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans le message BEB7BDD4.4156%envoi@lesSpam.fr,
dans l'article d6sqk8$jrp$1@news.cict.fr, Marc Boyer à
Marc.Boyer@enseeiht.yahoo.fr.invalid a écrit le 23/05/05 16:50 :
Non, non:
Bon deuxieme essai :-)
Et je réponds avec des exemples, puisque mon message, qui me
semblait clair, ne l'était apparamment pas :-)
Dans hpp tout les includes necessaires au hpp. (apres #ifndef)
Oui. Comme je l'ai dit, ceci doit pouvoir compiler :
// Test.cpp
#include "fichier.hpp"
// C'est tout
Alors s'il y a des éléments dans fichier.hpp qui demandent des
#include, par exemple des std::string qui demandent #include <string>,
il faut les mettre dans fichier.hpp (après #ifndef mais c'est un
détail qui n'a rien à voir avec la discussion ici).
Dans cpp tout les includes necessaires au cpp sauf ceux du hpp
correspondant.
Je ne suis pas sûr que tu as compris, car je ne comprends pas ton
« sauf ceux du hpp correspondant ». Alors un exemple :
// Essai.cpp
#include ...
#include <string> // Inclus parce que std::string est utilisé
#include ... // dans le code plus loin, même si on pense
// ou qu'on sait que <string> est inclus par
#include "fichier.hpp" // un des autres #include, y compris le tien
std::string var; // C'est à cause de cette ligne qu'on voudra le
// #include associé, explicitement, même si on
// l'a aussi dans fichier.hpp
Par ailleurs, les #include doivent aussi pouvoir être inclus dans
n'importe quel ordre et plusieurs fois. Contrairement à l'habitude,
ça peut donc être une bonne idée d'inclure d'abord les fichiers
personnels avant les #include standard.
Bon, j'espère que c'est clair maintenant :-)
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
dans l'article d6sqk8$jrp$, Marc Boyer à a écrit le 23/05/05 16:50 :
Non, non:
Bon deuxieme essai :-)
Et je réponds avec des exemples, puisque mon message, qui me semblait clair, ne l'était apparamment pas :-)
Dans hpp tout les includes necessaires au hpp. (apres #ifndef)
Oui. Comme je l'ai dit, ceci doit pouvoir compiler :
// Test.cpp #include "fichier.hpp" // C'est tout
Alors s'il y a des éléments dans fichier.hpp qui demandent des #include, par exemple des std::string qui demandent #include <string>, il faut les mettre dans fichier.hpp (après #ifndef mais c'est un détail qui n'a rien à voir avec la discussion ici).
Dans cpp tout les includes necessaires au cpp sauf ceux du hpp correspondant.
Je ne suis pas sûr que tu as compris, car je ne comprends pas ton « sauf ceux du hpp correspondant ». Alors un exemple :
// Essai.cpp #include ... #include <string> // Inclus parce que std::string est utilisé #include ... // dans le code plus loin, même si on pense // ou qu'on sait que <string> est inclus par #include "fichier.hpp" // un des autres #include, y compris le tien
std::string var; // C'est à cause de cette ligne qu'on voudra le // #include associé, explicitement, même si on // l'a aussi dans fichier.hpp
Par ailleurs, les #include doivent aussi pouvoir être inclus dans n'importe quel ordre et plusieurs fois. Contrairement à l'habitude, ça peut donc être une bonne idée d'inclure d'abord les fichiers personnels avant les #include standard.
Bon, j'espère que c'est clair maintenant :-)
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Bruno CAUSSE
dans l'article y1nke.2336$, Michel Michaud à a écrit le 23/05/05 17:55 :
Je ne suis pas sûr que tu as compris, car je ne comprends pas ton « sauf ceux du hpp correspondant ». Alors un exemple :
// Essai.cpp #include ... #include <string> // Inclus parce que std::string est utilisé #include ... // dans le code plus loin, même si on pense // ou qu'on sait que <string> est inclus par #include "fichier.hpp" // un des autres #include, y compris le tien
std::string var; // C'est à cause de cette ligne qu'on voudra le // #include associé, explicitement, même si on // l'a aussi dans fichier.hpp
Par ailleurs, les #include doivent aussi pouvoir être inclus dans n'importe quel ordre et plusieurs fois. Contrairement à l'habitude, ça peut donc être une bonne idée d'inclure d'abord les fichiers personnels avant les #include standard.
Bon, j'espère que c'est clair maintenant :-)
C'est clair, (parce que non contracdictoire avec les autres contributeurs) mais je voie qu'il n'y a aucune standardisation. Chacun sa maniere... :-(
dans l'article y1nke.2336$Ot6.347149@news20.bellglobal.com, Michel Michaud à
mm@gdzid.com a écrit le 23/05/05 17:55 :
Je ne suis pas sûr que tu as compris, car je ne comprends pas ton
« sauf ceux du hpp correspondant ». Alors un exemple :
// Essai.cpp
#include ...
#include <string> // Inclus parce que std::string est utilisé
#include ... // dans le code plus loin, même si on pense
// ou qu'on sait que <string> est inclus par
#include "fichier.hpp" // un des autres #include, y compris le tien
std::string var; // C'est à cause de cette ligne qu'on voudra le
// #include associé, explicitement, même si on
// l'a aussi dans fichier.hpp
Par ailleurs, les #include doivent aussi pouvoir être inclus dans
n'importe quel ordre et plusieurs fois. Contrairement à l'habitude,
ça peut donc être une bonne idée d'inclure d'abord les fichiers
personnels avant les #include standard.
Bon, j'espère que c'est clair maintenant :-)
C'est clair, (parce que non contracdictoire avec les autres contributeurs)
mais je voie qu'il n'y a aucune standardisation. Chacun sa maniere... :-(
dans l'article y1nke.2336$, Michel Michaud à a écrit le 23/05/05 17:55 :
Je ne suis pas sûr que tu as compris, car je ne comprends pas ton « sauf ceux du hpp correspondant ». Alors un exemple :
// Essai.cpp #include ... #include <string> // Inclus parce que std::string est utilisé #include ... // dans le code plus loin, même si on pense // ou qu'on sait que <string> est inclus par #include "fichier.hpp" // un des autres #include, y compris le tien
std::string var; // C'est à cause de cette ligne qu'on voudra le // #include associé, explicitement, même si on // l'a aussi dans fichier.hpp
Par ailleurs, les #include doivent aussi pouvoir être inclus dans n'importe quel ordre et plusieurs fois. Contrairement à l'habitude, ça peut donc être une bonne idée d'inclure d'abord les fichiers personnels avant les #include standard.
Bon, j'espère que c'est clair maintenant :-)
C'est clair, (parce que non contracdictoire avec les autres contributeurs) mais je voie qu'il n'y a aucune standardisation. Chacun sa maniere... :-(
Bruno CAUSSE
dans l'article BEB7CE68.4167%, Bruno CAUSSE à a écrit le 23/05/05 18:16 :
Chacun sa maniere... :-(
Abondance de biens ne nuit pas.
dans l'article BEB7CE68.4167%envoi@lesSpam.fr, Bruno CAUSSE à
envoi@lesSpam.fr a écrit le 23/05/05 18:16 :
dans l'article BEB7CE68.4167%, Bruno CAUSSE à a écrit le 23/05/05 18:16 :
Chacun sa maniere... :-(
Abondance de biens ne nuit pas.
Michel Michaud
Dans le message BEB7CE68.4167%,
C'est clair, (parce que non contracdictoire avec les autres contributeurs) mais je voie qu'il n'y a aucune standardisation. Chacun sa maniere... :-(
Où vois-tu ça ? J'ai dit et je continue à prétendre que c'est ce que font naturellement la plupart des programmeurs C++ et c'est aussi ce qui est recommandé par les livres qui font de telles recommandations. Il y a de bonnes raisons à ces règles, elles ne sont pas aléatoires.
Maintenant si tu veux faire « à ta manière », c'est ton choix.
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans le message BEB7CE68.4167%envoi@lesSpam.fr,
C'est clair, (parce que non contracdictoire avec les autres
contributeurs) mais je voie qu'il n'y a aucune standardisation.
Chacun sa maniere... :-(
Où vois-tu ça ? J'ai dit et je continue à prétendre que c'est ce que
font naturellement la plupart des programmeurs C++ et c'est aussi ce
qui est recommandé par les livres qui font de telles recommandations.
Il y a de bonnes raisons à ces règles, elles ne sont pas aléatoires.
Maintenant si tu veux faire « à ta manière », c'est ton choix.
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
C'est clair, (parce que non contracdictoire avec les autres contributeurs) mais je voie qu'il n'y a aucune standardisation. Chacun sa maniere... :-(
Où vois-tu ça ? J'ai dit et je continue à prétendre que c'est ce que font naturellement la plupart des programmeurs C++ et c'est aussi ce qui est recommandé par les livres qui font de telles recommandations. Il y a de bonnes raisons à ces règles, elles ne sont pas aléatoires.
Maintenant si tu veux faire « à ta manière », c'est ton choix.
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Loïc Joly
Contrairement à l'habitude, ça peut donc être une bonne idée d'inclure d'abord les fichiers personnels avant les #include standard.
Personnellement, dans un .cpp, j'inclue toujours en premier le .h correspondant. L'avantage est que pour chaque .h, j'ai un endroit (facilement retrouvable) où chaque .h est compiler en premier, et donc je m'assure que chaque .h est indépendant.
-- Loïc
Contrairement à l'habitude,
ça peut donc être une bonne idée d'inclure d'abord les fichiers
personnels avant les #include standard.
Personnellement, dans un .cpp, j'inclue toujours en premier le .h
correspondant. L'avantage est que pour chaque .h, j'ai un endroit
(facilement retrouvable) où chaque .h est compiler en premier, et donc
je m'assure que chaque .h est indépendant.
Contrairement à l'habitude, ça peut donc être une bonne idée d'inclure d'abord les fichiers personnels avant les #include standard.
Personnellement, dans un .cpp, j'inclue toujours en premier le .h correspondant. L'avantage est que pour chaque .h, j'ai un endroit (facilement retrouvable) où chaque .h est compiler en premier, et donc je m'assure que chaque .h est indépendant.
-- Loïc
pasde.bcausse.spam
Michel Michaud wrote:
Où vois-tu ça ?
Dans hpp tout les includes necessaires au hpp. (apres #ifndef)
Oui, ni plus, ni moins.
Dans cpp tout les includes necessaires au cpp sauf ceux du hpp correspondant.
Exactement. Chaque chose à sa place.
Marc Boyer
J'ai dit et je continue à prétendre que c'est ce que font naturellement la plupart des programmeurs C++ et c'est aussi ce qui est recommandé par les livres qui font de telles recommandations. Il y a de bonnes raisons à ces règles, elles ne sont pas aléatoires.
Maintenant si tu veux faire « à ta manière », c'est ton choix.
je debute (je viens d'un autre langage), si c'est la bonne convention j'adopte.
-- Bruno Causse http://perso.wanadoo.fr/othello
Michel Michaud <mm@gdzid.com> wrote:
Où vois-tu ça ?
Dans hpp tout les includes necessaires au hpp. (apres #ifndef)
Oui, ni plus, ni moins.
Dans cpp tout les includes necessaires au cpp sauf ceux du hpp
correspondant.
Exactement. Chaque chose à sa place.
Marc Boyer
J'ai dit et je continue à prétendre que c'est ce que
font naturellement la plupart des programmeurs C++ et c'est aussi ce
qui est recommandé par les livres qui font de telles recommandations.
Il y a de bonnes raisons à ces règles, elles ne sont pas aléatoires.
Maintenant si tu veux faire « à ta manière », c'est ton choix.
je debute (je viens d'un autre langage), si c'est la bonne convention
j'adopte.
Dans hpp tout les includes necessaires au hpp. (apres #ifndef)
Oui, ni plus, ni moins.
Dans cpp tout les includes necessaires au cpp sauf ceux du hpp correspondant.
Exactement. Chaque chose à sa place.
Marc Boyer
J'ai dit et je continue à prétendre que c'est ce que font naturellement la plupart des programmeurs C++ et c'est aussi ce qui est recommandé par les livres qui font de telles recommandations. Il y a de bonnes raisons à ces règles, elles ne sont pas aléatoires.
Maintenant si tu veux faire « à ta manière », c'est ton choix.
je debute (je viens d'un autre langage), si c'est la bonne convention j'adopte.