Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’option /Zc:__cplusplus du compilateur permet à la __cplusplus macro de préprocesseur de signaler une valeur mise à jour pour la prise en charge récente des normes de langage C++. Par défaut, Visual Studio retourne toujours la valeur 199711L de la __cplusplus macro de préprocesseur.
Syntaxe
/Zc:__cplusplus[-]
Notes
La __cplusplus macro de préprocesseur est couramment utilisée pour signaler la prise en charge d’une version particulière de la norme C++. Étant donné que beaucoup de code existant semble dépendre de la valeur de cette macro correspondante 199711L, le compilateur ne modifie pas la valeur de la macro, sauf si vous optez explicitement à l’aide de l’option /Zc:__cplusplus du compilateur. L’option /Zc:__cplusplus est disponible à partir de Visual Studio 2017 version 15.7 et est désactivée par défaut. Dans les versions antérieures de Visual Studio et par défaut, ou si /Zc:__cplusplus- elle est spécifiée, Visual Studio retourne la valeur 199711L de la __cplusplus macro de préprocesseur. L’option /permissive- n’active pas /Zc:__cplusplus.
Lorsque l’option /Zc:__cplusplus est activée, la valeur signalée par la __cplusplus macro dépend du /std paramètre d’option de version. Ce tableau liste les valeurs possibles pour la macro :
Option /Zc:__cplusplus |
Option /std |
Valeur __cplusplus |
|---|---|---|
Zc:__cplusplus |
/std:c++14 (valeur par défaut) |
201402L |
Zc:__cplusplus |
/std:c++17 |
201703L |
Zc:__cplusplus |
/std:c++20 |
202002L |
Zc:__cplusplus |
/std:c++latest |
voir le texte |
Zc:__cplusplus- (désactivé) |
Valeur quelconque | 199711L |
| Non spécifié(e) | Valeur quelconque | 199711L |
Le compilateur ne prend pas en charge les options de normes pour C++98, C++03 ou C++11. L’option /std:c++20 est disponible à partir de Visual Studio 2019 version 16.11. La valeur de __cplusplus l’option /std:c++latest dépend de la version de Visual Studio. Il s’agit toujours d’au moins une valeur standard prise en charge la plus élevée prise en charge __cplusplus par votre version de Visual Studio.
Pour une détection plus fine des modifications apportées à l’ensemble d’outils du compilateur, utilisez la _MSC_VER macro prédéfinie. La valeur de cette macro intégrée est incrémentée à chaque mise à jour de l’ensemble d’outils dans Visual Studio 2017 et ultérieur. La _MSVC_LANG macro prédéfinie signale la version standard si l’option /Zc:__cplusplus est activée ou désactivée. Quand /Zc:__cplusplus elle est activée, __cplusplus a la même valeur que _MSVC_LANG.
Pour définir cette option de compilateur dans Visual Studio
Ouvrez la boîte de dialogue Pages de propriété du projet. Pour plus d’informations, consultez Définir le compilateur C++ et les propriétés de build dans Visual Studio.
Sélectionnez la page de propriétés Propriétés de configuration>C/C++>Ligne de commande.
Ajoutez ou
/Zc:__cplusplus-accédez/Zc:__cplusplusaux options supplémentaires : volet.
Voir aussi
/Zc (Conformité)
/std (Spécifier la version du standard du langage)
Macros prédéfinies