Inline-Funktionsplatzierung
Frage: Warum müssen Inline-Funktionen scheinbar in einer Header-Datei definiert werden?
Erklärung:
Die Inline Die Definition einer Klassenfunktion muss sich nicht zwingend in einer Header-Datei befinden. Die One Definition Rule (ODR) schreibt jedoch vor, dass Inline-Funktionen in jeder Übersetzungseinheit, die sie verwendet, eine identische Definition haben.
Die Einhaltung der ODR lässt sich am einfachsten erreichen, indem die Definition in eine Header-Datei aufgenommen wird, was gewährleistet Verfügbarkeit für alle Übersetzungseinheiten.
Wenn die Funktionsdefinition auf eine einzelne Quelldatei beschränkt werden soll, vermeiden Sie die Inline-Deklaration. Dies ermöglicht es dem Compiler, die Funktion bei Bedarf zu inline.
Die Entscheidung, ob eine Funktion inline deklariert werden soll, hängt in erster Linie von der gewünschten Konformität mit dem ODR ab. Die Inline-Erzwingung durch Hinzufügen der Schlüsselwortbeschränkung ist möglicherweise nicht optimal.
Das obige ist der detaillierte Inhalt vonWarum müssen sich Inline-Funktionen scheinbar in Header-Dateien befinden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!