« Programmation C++/Le préprocesseur » : différence entre les versions

Contenu supprimé Contenu ajouté
Merrheim (discussion | contributions)
Merrheim (discussion | contributions)
Ligne 63 :
Pour résoudre l'inclusion multiple de fichier headers (inévitable), on va faire commencer le fichier header par ''#ifndef TOTO_H ''et il se termine par ''#endif''. Si la variable de compilation ''TOTO_H'' n'est défini, alors le header sera inclus, sinon, il sera tout simplement vide. Juste après ''#ifndef TOTO_H'', nous allons écrire #define ''TOTO_H'' définissant justement cette variable de compilation ''TOTO_H''.
 
La première fois que le header sera inclus, ''TOTO_H'' n'est pas défini, le header normal sera donc inclus. ''#define TOTO_H'' définira alors la variable de compilation ''TOTO_H''. La deuxième fois que ce même header sera inclus, et les fois suivantes, ''TOTO_H'' sera défini et par conséquent, le header sera vide. les prototypes n'auront donc été inclus qu'une seule fois. Le tour est joué. Il faut donc faire commencer systèmatiquement (c'est tout du moins conseillé) tous les fichiers header par les 2 lignes ''#ifndef ...'' et '''#define ...'' et les faire se terminer par ''#endif''.
 
=== Les macros===