Konstruktoren inlinen
-
aehm, mal ne (vielleicht) bloede frage.
macht es sinn konstruktoren das schlüsselwort inline zu verpassen wie man es auch bei anderen kleinen funktionen macht?
template <typename T> class Foo { public: Foo(); }; template <typename T> inline Foo<T>::Foo() { // irgendwas machen }
-
ja.
-
volkard schrieb:
ja.
Jein. Das kommt letztlich auf die Klasse an. Ein Konstruktor kann eine ganze Menge unsichtbaren Code enthalten. Wenn deine Klasse z.B. viele udt-Member enthält und Teil einer komplexen Hierarchie ist, dann enthält selbst ein leerer Ctor eine ganze Menge Code. Letztlich gilt aber wie bei allen Inline-Funktionen: messen, nicht raten. Es macht keinen Sinn die Nachteile von Inline in Kauf zu nehmen, wenn man dafür keine Vorteile bekommt.