Freigeben über


Schlüsselwörter (C++)

Schlüsselwörter sind vordefinierte, reservierte Bezeichner, die besondere Bedeutungen haben. Sie können nicht als Bezeichner in Ihrem Programm verwendet werden. Die folgenden Schlüsselwörter sind für Microsoft C++ reserviert. Namen mit führenden Unterstrichen und Namen, die für C++/CX und C++/CLI angegeben sind, sind Microsoft-Erweiterungen.

Standardschlüsselwörter in C++

constinit c
continue
co_await c
co_return c
co_yield c
decltype
default
delete
do
double
dynamic_cast
else
enum
explicit
export c
extern
false
float
for
friend
goto
if
inline

a Microsoftspezifisches __asm-Schlüsselwort ersetzt die asm-Syntax in C++. asm ist für die Kompatibilität mit anderen C++-Implementierungen reserviert, jedoch nicht implementiert. Wird für Inlineassembly auf x86-Zielen verwendet __asm. Microsoft C++ unterstützt keine Inlineassembly für andere Ziele.

b Die Synonyme für den erweiterten Operator sind Schlüsselwörter, wenn /permissive- oder /Za (Spracherweiterungen deaktivieren) angegeben werden. Sie sind keine Schlüsselwörter, wenn Microsoft-Erweiterungen aktiviert sind.

c Wird unterstützt, wenn /std:c++20 oder höher (z. B. /std:c++latest) angegeben wird.

Microsoftspezifische C++-Schlüsselwörter

In C++ sind Bezeichner, die zwei aufeinander folgende Unterstriche enthalten, für Compilerimplementierungen reserviert. Die Microsoft-Konvention ist es, microsoftspezifischen Schlüsselwörtern doppelte Unterstriche voranzustellen. Diese Wörter können nicht als Bezeichnernamen verwendet werden.

Standardmäßig sind Microsoft-Erweiterungen aktiviert. Um sicherzustellen, dass Ihre Programme vollständig portabel sind, können Sie Microsoft-Erweiterungen deaktivieren, indem Sie während der Kompilierung die Option /permissive- oder /Za(Spracherweiterungen deaktivieren) angeben. Mit diesen Optionen werden einige microsoftspezifische Schlüsselwörter deaktiviert.

Wenn Microsoft-Erweiterungen aktiviert sind, können Sie Microsoft-spezifische Schlüsselwörter in Programmen verwenden. Zur ANSI-Konformität wird diesen Schlüsselwörtern ein doppelter Unterstrich vorangestellt. Aus Gründen der Abwärtskompatibilität werden Versionen mit einzelnen Unterstrichen von vielen Schlüsselwörtern mit doppelten Unterstrichen unterstützt. Das Schlüsselwort __cdecl ist ohne führenden Unterstrich verfügbar.

Das Schlüsselwort __asm ersetzt die asm-Syntax in C++. asm ist für die Kompatibilität mit anderen C++-Implementierungen reserviert, jedoch nicht implementiert. Verwenden Sie __asm.

Das Schlüsselwort __based weist eingeschränkte Verwendung für 32-Bit- und 64-Bit-Zielkompilierungen auf.

d In der Ereignisbehandlung verwendete intrinsische Funktion.

e Wegen der Abwärtskompatibilität mit früheren Versionen sind diese Schlüsselwörter sowohl mit zwei führenden Unterstrichen als auch mit einem einzigen führenden Unterstrich verfügbar, wenn Microsoft-Erweiterungen aktiviert sind (Standard).

Microsoft-Schlüsselwörter in __declspec-Modifizierern

Diese Bezeichner sind erweiterte Attribute für den __declspec-Modifizierer. Sie werden in diesem Kontext als Schlüsselwörter betrachtet.

C++/CLI- und C++/CX-Schlüsselwörter

__abstract f
__box f
__delegate f
__gc f
__identifier
__nogc f
__noop
__pin f
__property f
__sealed f

f Gültig nur für Managed Extensions for C++. Diese Syntax ist inzwischen veraltet. Weitere Informationen finden Sie unter Component Extensions for Runtime Platforms.

g Gilt für C++/CLI.

Weitere Informationen

Lexikalische Konventionen
Integrierte C++-Operatoren, Rangfolge und Assoziativität