Bonjour,
Je voulais savoir s'il y a une différence entre mettre un include dans un fichier.h et le mettre dans un fichier.cpp. Si oui laquelle merci :D
Version imprimable
Bonjour,
Je voulais savoir s'il y a une différence entre mettre un include dans un fichier.h et le mettre dans un fichier.cpp. Si oui laquelle merci :D
Bonjour et bienvenue sur developpez.com :D
La différence est que si tu inclus un fichier a.h dans un en-tête b (fichier b.h), tous les fichiers qui incluront b.h incluront également a.h.
Car en c++, on n'inclus jamais de fichiers sources (fichiers .cpp), exception faite des templates (et encore...).
Les gardes contre les inclusions multiples (#pragma once ou #ifndef [...] #define [...] #endif) pallient aux problèmes de redéfinitions qu'impliquent les inclusions multiples, mais pour diverses raisons (lisibilité, modularité, maintenabilité), il est conseillé d'inclure le moins possible d'en-têtes dans un en-tête.
Hope it helps.
merci pour la réponse.
effectivement ça m'a aidé :yaisse2:
Ca se sont des gardes contre les inclusions multiples. Le pare-feu de compilation (compilation firewall, alias Cheshire cat, alias pimpl) c'est un idiome utilisé pour permettre les modifications dans la partie privée sans recompiler les utilisateurs de la classe. Voir par exemple http://en.wikipedia.org/wiki/Cheshir...ming_technique)
Aargh oui, je confonds à chaque fois :oops::oops:
merci pour la précision.
:oops::oops::oops:
(message corrigé)