Je sais donc comment placer un gardien Inclure dans mes propres fichiers d'en-tête avec la norme
#ifndef FOO_H #define FOO_H #include <string> ... code etc ... #endif
3 Réponses :
La bibliothèque STL comprend également des gardes et toute bonne bibliothèque doit faire la même chose. Ceci est de GCC P> P>
Microsoft utilise #pragma une fois code> - leur version exclusive des gardes d'en-tête. Ce qui va bien: la "stl" est de nos jours une partie du compilateur et peut donc utiliser des extensions de langage spécifiques au compilateur.
Inclure l'utilisation de la protection pour protéger le contenu à l'intérieur de la paire de garde. Vous pouvez vérifier le fichier Head System String CODE>, il a également la protection include. Donc, ne vous inquiétez pas pour plusieurs inclusions. P>
En supposant que, par "stl", vous voulez dire la bibliothèque standard C ++, vous pouvez également vous reporter à la norme C ++. Une unité de traduction peut inclure des en-têtes de bibliothèque dans n'importe quel ordre. Chacun peut être inclus plus d'une fois, sans effet différent d'être inclus une fois, sauf que l'effet d'inclure Cela signifie qu'il n'est pas nécessaire de protéger plusieurs inclusions de la même en-tête. P> §17.6.2.2.2 / 2 code> états: p>