verstndnis frage zu headern



  • also bei #include <datei> kopiert der kompiler den inhalt der datei an die stelle, wo das include steht.
    Also würde da das selbe rauskommen wenn man statt dem include den ganzen inhalt der datei selbst da reinkopieren würde?!

    mfg



  • Ja, es wäre (für den Compiler) dasselbe ... aber es wäre eben eine Kopie. Das bedeutet, dass Dein Programm nicht mitbekommt, wenn der Header geändert wird.

    Gruß,

    Simon2.



  • es dürfte eig. trotzdem nicht funktionieren, weil ein header nur die deklaration enthält, wenn du diese jetzt von hand vornimmst, dann fehlt die Definition die in der zugehörigen .cpp des Headers steht



  • Ryu schrieb:

    es dürfte eig. trotzdem nicht funktionieren, weil ein header nur die deklaration enthält, wenn du diese jetzt von hand vornimmst, dann fehlt die Definition die in der zugehörigen .cpp des Headers steht

    Na ja, angenommen du hast so n klassisches Beispiel, Deklaration im Header und Definition in ner Quelldatei und anstatt die Header zu inkludieren kopierst du das was drinsteht in alle Quelldateien, die die Deklaration brauchen, dann sollte das schon funktionieren.
    Wieso auch nicht?



  • Ryu schrieb:

    dann fehlt die Definition die in der zugehörigen .cpp des Headers steht

    Das mit »zugehörige cpp ist ein Trugschluss. Du kannst einen Header nehmen und die implementierung in 20 cpp Dateien verteilen wenn du willst. Die Implementierung sucht der Linker einfach aus allen vorhandenen Kompilaten aus.

    Das ganze war mir anfangs auch sehr suspekt aber man gewöhnt sich daran 😉


Anmelden zum Antworten