/Zc:__plusplus的意义

预 __cplusplus 处理器宏通常用于报告对特定版本的 C++ 标准的支持,默认情况下,Visual Studio始终返回199711L作为预处理器__cplusplus宏的值。

有些代码依赖__cplusplus宏的真实值,此时需要启用/Zc:__plusplus编译器选项。

/Zc:__cplusplus启用该选项后,宏报告__cplusplus的值取决于版本/std选项设置。 下表列出了该宏的可能值:

/Zc:__cplusplus 选项 /std 选项 __cplusplus 值
Zc:__cplusplus /std:c++14(默认值) 201402L
Zc:__cplusplus /std:c++17 201703L
Zc:__cplusplus /std:c++20 202002L
Zc:__cplusplus /std:c++latest 查看文本
Zc:__cplusplus- (禁用) 任何值 199711L
未指定 任何值 199711L

你可能感兴趣的:(/Zc:__plusplus的意义)