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
alignas
alignof
and
B
and_eq
B
asm
Eine
auto
bitand
B
bitor
B
bool
break
case
catch
char
char8_t
c
char16_t
char32_t
class
compl
B
concept
c
const
const_cast
consteval
c
constexpr
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 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.
__alignof
E
__asm
E
__assume
E
__based
E
__cdecl
E
__declspec
E
__event
__except
E
__fastcall
E
__finally
E
__forceinline
E
__hook
D
__if_exists
__if_not_exists
__inline
E
__int16
E
__int32
E
__int64
E
__int8
E
__interface
__leave
E
__m128
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
__abstract
F
__box
F
__delegate
F
__gc
F
__identifier
__nogc
F
__noop
__pin
F
__property
F
__sealed
F
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