meine header-datei...
-
sollte ich mir sorgen machen, wenn meine header-datei so gut wie die ganze implementation einer klasse beinhaltet?
-
ja.
-
nein.
-
Mach dir solang keine Sorgen bis es einen Grund gibt sich Sorgen zu machen!

-
er-head schrieb:
sollte ich mir sorgen machen, wenn meine header-datei so gut wie die ganze implementation einer klasse beinhaltet?
Kommt auf den Compiler an. Wenn der Compiler alles inline macht, was in dem header steht, ohne weiter zu gucken, würde ich mir schon recht große Sorgen machen...
-
und wie kriege ich die klasse dann trotzdem in eine *.o - datei? die wird ja sonst ständig immer mitcompiliert, wenn sie #includeiert wird. und das tut der größe und geschwindigkeit des programms nicht gut

-
In ne Header - und Implementierungsdatei aufspalten.
-
Du hast doch bereits eine *.cpp bzw. eine *.o. Du hast doch gesagt: "so gut wie die ganze implementation". Das bedeutet, daß der kleine Rest in einer cpp-Datei ist.
Nein im Ernst: ich habe schon hin und wieder Klassen, die komplett im Header implementiert sind. Die Methoden sind da alle trivial. Da ist das ok, daß ich keine *.cpp-Datei habe und dann kommt auch keine *.o raus. Sinnvoll ist das natürlich nur bei mehr oder weniger trivialen Klassen oder Templates, die sowieso komplett im Header definiert sein müssen.
-
tntnet schrieb:
...natürlich nur bei mehr oder weniger trivialen Klassen oder Templates, die sowieso komplett im Header definiert sein müssen.
genaugenommen ist das eine, zumindes vom umfang her nichttriviale templateklasse. gibt es keine möglichkeit, für dieses template eine spezialisierung zu compilieren?