Zunächst möchte ich die Fakten nennen, die ich über "inline" weiß, damit Sie sich nicht die Mühe machen, sie erneut zu nennen.
- Eine Inline-Funktion ist eine besondere Art von Funktion, deren Definition in jeder Übersetzungseinheit, in der die Funktion verwendet wird, vorhanden sein muss.
- Es ist ein Hinweis an den Compiler (den er ignorieren kann), den Funktionsaufruf wegzulassen und stattdessen den Körper zu erweitern.
- Der einzige Vorteil, den ich kenne, ist, dass (2.) den Code schneller machen kann.
- Der einzige Nachteil, den ich kenne, ist, dass (1.) die Kopplung erhöht, was schlecht ist.
Betrachten wir nun die Vorlagen. Wenn ich eine Vorlagenbibliothek habe, muss ich die Definitionen der Funktionsvorlagen in jeder Übersetzungseinheit bereitstellen, richtig? Vergessen wir den umstrittenen "Export" für eine Weile, da er das Problem ohnehin nicht wirklich löst. Ich komme also zu dem Schluss, dass es keinen Grund gibt no um eine Vorlagenfunktion inline zu machen, weil der einzige Nachteil von Inline, den ich kenne, von vornherein da ist.
Bitte korrigieren Sie mich, wenn ich falsch liege. Vielen Dank im Voraus.