Hallo Leute und erneut brauche ich eure Hilfe. Ich bin mittlerweile im 8. Kapitel vom Buch C++ für Spieleprogrammierer angekommen und habe jetzt eine Frage bezüglich Präprozessoren in Header-Dateien. Ich habe folgende Präprozessoren gesetzt: #ifndef TSINGLETON und #define TSINGLETON, am Ende noch #endif. So, meines Wissens nach sorgen diese Präprozessoren dafür, dass man die nachfolgende Basisklasse, die TSingleton heisst, zuerst definiert und anschliessen aus jeder .cpp Datei aufrufen kann, ohne dass sie jedes weitere mal definiert wird.
Simmt das, also kompiliert der Compiler zuerst die Header-Datei und erst im Anschluss die .cpp-Dateien, denn meine Basisklasse hier erwartet noch ein Template, welche zu übergeben ist, darum die Frage. Ich weiss nicht ob zuerst die Header-Datei Definiert wird, wegen den Präprozessoren oder zuerst die cpp.
Meiner Meinung nach würde es ja gar nicht funktionieren, wenn man eine Basisklasse zuerst definiert, obwohl sie noch kein Template überwiesen bekommen hat, dass essentiell für die Definierung der Basisklasse in der Header-Datei ist.
Es würde mir sehr viel nützen, wenn mir jemand die richtige Funktionsweise der Präprozessoren erklären würde. Ich hab auch schon gegoogelt, aber naja es war nur beschränkt hilfreich.