2010-05-04 29 views

Antwort

71

inline ist das Schlüsselwort, in C++ und C99.

__inline ist ein herstellerspezifisches Schlüsselwort (z. B. MSVC) für Inline-Funktion in C, da C89 es nicht hat.

ist ähnlich wie __inline, stammt aber aus einer anderen Gruppe von Compilern.

__forceinline ist ein weiteres herstellerspezifisches Schlüsselwort (hauptsächlich MSVC), das die Inline-Funktion stärker anweist als der Hinweis (z. B. inline, selbst wenn es zu schlechterem Code führt).

Es gibt auch __attribute__((always_inline)) in GCC und Clang.

+10

__forceinline ist ein stärkerer Hinweis als inline, aber immer noch ein Hinweis (http://msdn.microsoft.com/en-us/library/z8y1yy88%28VS.80%29.aspx). –

+0

Vielleicht überlegen Sie, die "Microsoft-spezifische" Sprache zu "Hersteller-spezifisch" oder etwas Ähnliches zu ändern. Viele der integrierten Cross-Development-Toolsets, die ich verwende, unterstützen auch __inline und __forceinline. Die Welt ist größer als MSOFT ;-) – Dan

+1

Ups versehentlich CW-ed den Beitrag. Was auch immer. – kennytm

18

__inline, und __forceinline sind alle implementierungsspezifisch. Aufgrund des doppelten Unterstrichs sind sie alle für die Implementierung reservierte Kennungen und sollten daher nicht mit Kennungen kollidieren, die in Anwendungen verwendet werden.

inline ist das einzige C++ - Schlüsselwort.

Verwandte Themen