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++
alignas
alignof
and
b
and_eq
b
asm
a
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 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.
__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 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
__try_cast
f
__value
f
abstract
g
array
g
as_friend
delegate
g
enum class
enum struct
event
g
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