/Zc:__cplusplus
(Aktualisiertes __cplusplus
Makro aktivieren)
Mit /Zc:__cplusplus
der Compileroption kann das __cplusplus
Präprozessormakro einen aktualisierten Wert für die Unterstützung neuer C++-Sprachstandards melden. Standardmäßig gibt Visual Studio immer den Wert 199711L
für das __cplusplus
Präprozessormakro zurück.
Syntax
/Zc:__cplusplus
[-
]
Hinweise
Das __cplusplus
Präprozessormakro wird häufig verwendet, um unterstützung für eine bestimmte Version des C++-Standards zu melden. Da viele vorhandenen Code scheinbar vom Wert dieses Makroabgleichs 199711L
abhängen, ändert der Compiler nicht den Wert des Makros, es sei denn, Sie melden sich explizit mit der /Zc:__cplusplus
Compileroption an. Die /Zc:__cplusplus
Option ist ab Visual Studio 2017, Version 15.7, verfügbar und ist standardmäßig deaktiviert. In früheren Versionen von Visual Studio und standardmäßig oder falls /Zc:__cplusplus-
angegeben, gibt Visual Studio den Wert 199711L
für das __cplusplus
Präprozessormakro zurück. Die Option /permissive-
aktiviert /Zc:__cplusplus
nicht.
Wenn die /Zc:__cplusplus
Option aktiviert ist, hängt der vom __cplusplus
Makro gemeldete Wert von der /std
Versionsoptionseinstellung ab. Diese Tabelle zeigt die möglichen Werte für das Makro:
/Zc:__cplusplus Option |
/std Option |
Wert vom Typ __cplusplus |
---|---|---|
Zc:__cplusplus |
/std:c++14 (Standard) |
201402L |
Zc:__cplusplus |
/std:c++17 |
201703L |
Zc:__cplusplus |
/std:c++20 |
202002L |
Zc:__cplusplus |
/std:c++latest |
siehe Text |
Zc:__cplusplus- (deaktiviert) |
Beliebiger Wert | 199711L |
Nicht angegeben | Beliebiger Wert | 199711L |
Der Compiler unterstützt keine Standardoptionen für C++98, C++03 oder C++11. Die /std:c++20
Option ist ab Visual Studio 2019, Version 16.11, verfügbar. Der Wert der __cplusplus
/std:c++latest
Option hängt von der Version von Visual Studio ab. Es ist immer mindestens ein höherer als der höchste unterstützte __cplusplus
Standardwert, der von Ihrer Version von Visual Studio unterstützt wird.
Verwenden Sie zum präziseren Erkennen von Änderungen am Compilertoolset das _MSC_VER
vordefinierte Makro. Der Wert dieses integrierten Makros wird für jedes Toolsetupdate in Visual Studio 2017 und höheren Versionen heraufgesetzt. Das _MSVC_LANG
vordefinierte Makro meldet die Standardversion, ob die /Zc:__cplusplus
Option aktiviert oder deaktiviert ist. Wenn /Zc:__cplusplus
diese Option aktiviert ist, __cplusplus
hat sie denselben Wert wie _MSVC_LANG
.
So legen Sie diese Compileroption in Visual Studio fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).
Klicken Sie auf der Eigenschaftenseite auf Konfigurationseigenschaften>C/C++>Befehlszeile.
Fügen Sie den Bereich "Zusätzliche
/Zc:__cplusplus
Optionen" hinzu oder/Zc:__cplusplus-
fügen Sie sie hinzu.
Siehe auch
/Zc
(Konformität)
/std
(Standardversion für die Sprache festlegen)
Vordefinierte Makros