Es ist so etwas, und es ist in dem aktuellen C++ Entwurf:Was ist eine externe Inline-Funktion und wann?
Zu § 7.1.2 0,4:
Eine Inline-Funktion ist in der in jeder Übersetzungseinheit definiert werden, es ist odr verwendet und muss in jedem Fall genau dieselbe Definition haben (3.2). [Hinweis: Ein Aufruf der Inline-Funktion ist möglicherweise vor der Definition in der Übersetzungseinheit aufgetreten. - Endnote] Wenn die Definition einer Funktion in einer Übersetzungseinheit vor ihrer ersten Deklaration als Inline angezeigt wird, ist das Programm schlecht formatiert. Wenn eine Funktion mit externer Verknüpfung inline in einer Übersetzungseinheit deklariert ist, wird sie in allen Übersetzungseinheiten, in denen sie erscheint, als inline deklariert; ist keine Diagnose erforderlich. Eine Inline-Funktion mit externer Verknüpfung soll in allen Übersetzungseinheiten die gleiche Adresse haben. Eine statische lokale Variable in einer externen Inline-Funktion verweist immer auf das gleiche Objekt. Ein im Rumpf einer externen Inline-Funktion definierter Typ ist der gleiche Typ in jeder Übersetzungseinheit.
Einige Einsichten, was ist das und wann es zu verwenden?
Vielleicht ein Link-Zeit-Optimierung Hinweis? – leppie