inkludieren und kompilieren
Verfasst: 27.11.2020, 20:20
Abend zusammen :-)
Ich meine, ich konnte wiedermal bisschen was lernen - bei einem Thema, bei den ich mich eher etwas schwer tue: Inkludieren und kompilieren.
Bislang hatte ich diese Sache so gehalten, dass ich in das eigentliche .cpp File jeweils ausschliesslich das dazugehörige Header-File inkludiert habe.
Im Header wiederum inkludierte ich dann sämtliche Headers, die ich benötigte. Das schien mir irgendwie übersichtlich. Doch leider musste ich merken, dass dieser Ansatz zu nichts führt.
Nach einigen Hinweisen von euch, hat es mir dann allmählich gedämmert.
Das Header File dient ja quasi als Schnittstelle nach aussen hin und sollte folglich auch nur das nötigste enthalten (wenn ich euch richtig verstanden habe).
Nun habe ich versucht diesem Gedanken zu entsprechen und alle Dinge, die tatsächlich erst in den eigentlichen Methoden der .cpp benötigt werden, auch erst in dieser Datei zu inkludieren!
Ich bin dann so weit gegangen, dass ich in den Header-Files Vorwärtsdeklarationen verwendet habe, soweit dies möglich war (also bei Deklarationen von Pointern). Und dies obschon ich dann im entsprechenden .cpp File den ganzen Header des selben Typs inkludiert habe (resp. inkludieren musste).
Meine Überlegung dazu war, dass ich in den Header-Files so wenig Inkludierungen haben sollte, wie nur irgendwie möglich. Um zu verhindern, dass grosse "Rattenschwänze" entstehen (im Sinne von: include ... -> include ... -> include ...).
Meine Frage an euch: Macht man das so? Ist dieser Ansatz sinnvoll? Oder zäume ich da einmal mehr das Pferd von hinten auf? (-:
Gruss und schönen Abend, starcow
Ich meine, ich konnte wiedermal bisschen was lernen - bei einem Thema, bei den ich mich eher etwas schwer tue: Inkludieren und kompilieren.
Bislang hatte ich diese Sache so gehalten, dass ich in das eigentliche .cpp File jeweils ausschliesslich das dazugehörige Header-File inkludiert habe.
Im Header wiederum inkludierte ich dann sämtliche Headers, die ich benötigte. Das schien mir irgendwie übersichtlich. Doch leider musste ich merken, dass dieser Ansatz zu nichts führt.
Nach einigen Hinweisen von euch, hat es mir dann allmählich gedämmert.
Das Header File dient ja quasi als Schnittstelle nach aussen hin und sollte folglich auch nur das nötigste enthalten (wenn ich euch richtig verstanden habe).
Nun habe ich versucht diesem Gedanken zu entsprechen und alle Dinge, die tatsächlich erst in den eigentlichen Methoden der .cpp benötigt werden, auch erst in dieser Datei zu inkludieren!
Ich bin dann so weit gegangen, dass ich in den Header-Files Vorwärtsdeklarationen verwendet habe, soweit dies möglich war (also bei Deklarationen von Pointern). Und dies obschon ich dann im entsprechenden .cpp File den ganzen Header des selben Typs inkludiert habe (resp. inkludieren musste).
Meine Überlegung dazu war, dass ich in den Header-Files so wenig Inkludierungen haben sollte, wie nur irgendwie möglich. Um zu verhindern, dass grosse "Rattenschwänze" entstehen (im Sinne von: include ... -> include ... -> include ...).
Meine Frage an euch: Macht man das so? Ist dieser Ansatz sinnvoll? Oder zäume ich da einmal mehr das Pferd von hinten auf? (-:
Gruss und schönen Abend, starcow