++fab victime du syndrome IH |
.hh, .HH, .hxx, etc.
Citation :
e compilateur en lui meme ne sais pas ce qu'est un en-tete et il ne comprend pas les directives du cpp, tout ca se fait avant la compilation et les en-tetes permettent (entre autre) de diviser ce qui sera le code d'une unité de compilation en plusieurs fichiers.
|
Mais comme généralement, on invoque le cpp en meme temps que le compilateur, ...
Citation :
Le but principal est de séparés les déclarations et les définitions, les fichiers contenant que des déclaration pourront faire partie (etres inclus) dans d'autre unité de compilation du projet alors que les fichiers contenant les définitions seront compilés une fois pour toute.
|
Autre point de vue : les headers, c'est pour respecter l'ODR (One Definition Rule). Pour garantir que les déclarations d'une fonction ordinaire (par exemple) ne soit pas différentes dans toutes les TU, on utilise des headers que l'on incluent. La conséquence est que cela sépare -- dans certains cas -- l'interface de l'implémentation. |