Was sind die Unterschiede zwischen diesen vier Inline- (Schlüssel-) Wörtern?
inline, __inline, __inline__, __forceinline.
Antworten:
inlineist das Schlüsselwort in C ++ und C99.
__inlineist ein herstellerspezifisches Schlüsselwort (z. B. MSVC ) für die Inline-Funktion in C, da C89 es nicht hat.
__inline__ist ähnlich, stammt __inlineaber von einem anderen Satz von Compilern.
__forceinlineist ein anderes herstellerspezifisches (hauptsächlich MSVC) Schlüsselwort, das mehr Kraft zum Inline-Funktionieren der Funktion als zum __inlineHinweis verwendet (z. B. Inline, selbst wenn dies zu schlechterem Code führt).
Es gibt auch __attribute__((always_inline))in GCC und klirren.
__inline, __inline__Und __forceinlinesind alle Implementierung spezifisch. Aufgrund des doppelten Unterstrichs sind alle Bezeichner für die Implementierung reserviert und sollten daher nicht mit den in Anwendungen verwendeten Bezeichnern in Konflikt stehen.
inline ist das einzige C ++ - Schlüsselwort.
Für den Visual Studio-Compiler bedeutet dies:
Inline - Vorschlag an den Compiler, Ihren Code zu inline
__forceinline - überschreibt die integrierte Compileroptimierung und generiert Inline-Code
Weitere Informationen finden Sie unter: http://msdn.microsoft.com/en-us/library/z8y1yy88%28VS.71%29.aspx