Funktionen in Headerdateien
-
Hallo zusammen,
sind auch klassenlose, in Headerdateien definierte Funktionen automatisch inline oder gilt dies nur für Funktionen, die innerhalb der Klassendeklaration (die ja meist in einer Headerdatei stattfindet) direkt definiert werden?
Vielen Dank
LG, freakC++
-
freakC++ schrieb:
Hallo zusammen,
sind auch klassenlose, in Headerdateien definierte Funktionen automatisch inline oder gilt dies nur für Funktionen, die innerhalb der Klassendeklaration (die ja meist in einer Headerdatei stattfindet) direkt definiert werden?
Vielen Dank
LG, freakC++Letzteres. In welcher Art Datei etwas steht, interessiert nur den Präprozessor, dem Rest des Compilers ist das egal.
-
ok danke. Dann kann ich ja ein paar Funktionen problemlos in die Headerdatei auslagern
-
freakC++ schrieb:
ok danke. Dann kann ich ja ein paar Funktionen problemlos in die Headerdatei auslagern
Interessante Schlussfolgerung ...
-
Moment, war es nicht so, dass der Linker dann gemeckert hat, weil es mehrere Definitionen für die entsprechenden Funktionen gab? Da muss doch explizit das Keyword "inline" hin, oder irre ich da?
-
Skym0sh0 schrieb:
Moment, war es nicht so, dass der Linker dann gemeckert hat, weil es mehrere Definitionen für die entsprechenden Funktionen gab? Da muss doch explizit das Keyword "inline" hin, oder irre ich da?
Wo hast du das denn her? Ich glaube, du missverstehst den Kontext:
struct A { void f(){} // immer inline };
-
Ja, aber ohne die Klassenumgebung ists eben nicht inline.
-
Skym0sh0 schrieb:
Ja, aber ohne die Klassenumgebung ists eben nicht inline.
gilt dies nur für Funktionen, die innerhalb der Klassendeklaration [...] direkt definiert werden?
-
Ok, ich hab inhaltlich recht, du hast recht was die Unterhaltung angeht, die hab ich nicht ganz verstanden. Sry.