[C / C++] Mehrfacheinbindung von Headern (Präprozessor)

LukeS

Erfahrenes Mitglied
Hallo
Ich hoffe, dass ich mit meinen Anfänger-Fragen nicht störe!
Habe leider mit der Foren-Suche nichts gefunden...

Mit dem Präprozessor komm ich noch nicht ganz klar:
Wenn ich vermeiden will, dass Header-Files mehrfach eingebunden werden, verwende ich #ifndef in kombination mit #define:
Code:
#ifndef _HEADERFILE_NAME_H
#define _HEADERFILE_NAME_H
... der ganze Code meines Header-Files
#endif
Also meine Fragen:
1.) Ist das richtig so?
2.) Wenn ich in das File andere .h-Files (per #include) einbinde, soll die #include-Direktive vor oder nach dem #ifndef stehen?
3.) Kann ich damit rechnen, dass Header-Files der Standard-Bibliothek (oder der MFC) auch so vor mehrfacheinbindung geschützt sind?


Ich verwende übrigens Visual C++ 6.

Vielen Dank für eure Hilfe im Voraus!!
Gruss LukeS
 
LukeS hat gesagt.:
Also meine Fragen:
1.) Ist das richtig so?
Ja :)
2.) Wenn ich in das File andere .h-Files (per #include) einbinde, soll die #include-Direktive vor oder nach dem #ifndef stehen?
Danach. Der „Include Guard“ sollte immer in der ersten Zeile der Headerdatei beginnen (es sei denn, davor sind nur Kommentare) und mit der letzten Zeile aufhören.
3.) Kann ich damit rechnen, dass Header-Files der Standard-Bibliothek (oder der MFC) auch so vor mehrfacheinbindung geschützt sind?
Ja, in der Regel schon. (Ganz sicher bei MFC, Win32-API, Standardbibliothek etc.)
 
Zurück