Template und Inline Funktionsdefinitionen

lemon03

Grünschnabel
Hallo,

ich bin immer noch blutiger Anfänger und lerne gerade Einbindung von Headerdateien.

Was bedeutet template und inline in diesem Zusammenhang?
Warum sollten keine template und keine inline Funktionsdefinitionen in Headerdateien wie *.h vorkommen?
 
Hi.
ich bin immer noch blutiger Anfänger und lerne gerade Einbindung von Headerdateien.

Was bedeutet template und inline in diesem Zusammenhang?
:suchen:
Warum sollten keine template und keine inline Funktionsdefinitionen in Headerdateien wie *.h vorkommen?
Woher hast du das denn?

Template und inline Funktionen müssen in Headerdateien definiert werden, da die Templatefunktionen (im Normalfall) vollständig zur Instanziierung während des Kompilierens zur Verfügung stehen müssen. Das Gleiche gilt für inline-Funktionen, da sie sonst nicht "ge-inlined" werden können. Das betrifft natürlich nur öffentliche Template- bzw. Inlinefunktionen die auch in mehreren Kompiliereinheiten verwendet werden sollen.

Gruß
 
Aber sie sollten in .hpp oder .hxx gespeichert werden, um zu signalisieren, dass es sich um Quelltext für C++ und nicht für C handelt.
 
Zurück