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.

C++-Standardschlüsselwörter

constinitc
continue
co_awaitc
co_returnc
co_yieldc
decltype
default
delete
do
double
dynamic_cast
else
enum
explicit
exportc
extern
false
float
for
friend
goto
if
inline

a Die Microsoft-spezifische __asm Schlüsselwort (keyword) ersetzt die C++- asm Syntax. asm ist für die Kompatibilität mit anderen C++-Implementierungen reserviert, jedoch nicht implementiert. Verwenden Sie __asm für Inlineassembly auf x86-Zielen. Microsoft C++ unterstützt keine Inlineassembly für andere Ziele.

b Die synonymen erweiterten Operatoren sind Schlüsselwörter, wenn /permissive- oder /Za (Spracherweiterungen deaktivieren) angegeben ist. Sie sind keine Schlüsselwörter, wenn Microsoft-Erweiterungen aktiviert sind.

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

Microsoft-spezifische C++-Schlüsselwörter

In C++ sind Bezeichner, die zwei aufeinander folgende Unterstriche enthalten, für Compilerimplementierungen reserviert. Die Microsoft-Konvention besteht darin, Microsoft-spezifischen Schlüsselwörtern doppelte Unterstriche voran zu stellen. Diese Wörter können nicht als Bezeichnernamen verwendet werden.

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

Wenn Microsoft-Erweiterungen aktiviert sind, können Sie Microsoft-spezifische Schlüsselwörter in Programmen verwenden. Für die ANSI-Konformität wird diesen Schlüsselwörtern ein doppelter Unterstrich vorangestellt. Aus Gründen der Abwärtskompatibilität werden Versionen mit nur einem Unterstrich für viele der doppelt unterstrichenen Schlüsselwörter unterstützt. Der __cdecl Schlüsselwort (keyword) ist ohne führenden Unterstrich verfügbar.

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

Die __based Schlüsselwort (keyword) verfügt über begrenzte Verwendungsmöglichkeiten für 32-Bit- und 64-Bit-Zielkompilierungen.

d Systeminterne Funktion, die bei der Ereignisbehandlung verwendet wird.

e Aus Gründen 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 als Schlüsselwörter in diesem Kontext betrachtet.

Schlüsselwörter für C++/CLI und C++/CX

__abstractF
__boxF
__delegateF
__gcF
__identifier
__nogcF
__noop
__pinF
__propertyF
__sealedF

f Gilt nur für Managed Extensions for C++. Diese Syntax ist inzwischen veraltet. Weitere Informationen finden Sie unter Komponentenerweiterungen für Laufzeitplattformen.

g Gilt für C++/CLI.

Weitere Informationen

Lexikalische Konventionen
Integrierte C++-Operatoren, Rangfolge und Zuordnung