template-Klassen, c'tor, d'tor und das inline
-
Hi Leutz!
Mal eine Frage:
Wenn ich eine Template-Klasse habe, wird da der c'tor und d'tor automatisch geinlined?Ich hab mal gelesen, dass es "unschön" ist c'tor und d'tor zu inlinen, aber das templates sowieso immer inline sind.
-
ISO/IEC14882 / 12.1.5 schrieb:
A default constructor for a class X is a constructor of class X that can be called without an argument. If
there is no user-declared constructor for class X, a default constructor is implicitly declared. An implicitly-declared default constructor is an inline public member of its class.ISO/IEC14882 / 12.4.3 schrieb:
An implicitly-declared
destructor is an inline public member of its class.Das Templates immer inline sind ist afaik falsch (habe nichts im Standard finden können, was das gegenteil besagt). Es wird vlt. von manchen falsch verstanden, weil templates normalerweise, wegen der mangelnden Umsetzung von export in die Header implementiert werden. Aber nicht zu vergessen, dass der Standard überhaupt keine Aussage darüber macht, ob eine Funktion, die als Inline gekennzeichnet wird auch tatsächlich inline ist. Hier hat der Compiler das letzte Wort, da unter Umständen ein Inlining gar nicht möglich ist.