Visual Studio之__cplusplus版本
1. 默认值
Visual Studio(下文简称VS)中__cplusplus宏的默认值一直是: 199711L
可以用下面的代码查看 __cplusplus 的输出结果:
#pragma once
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
cout << "__cpplus = " << __cplusplus << endl;
system("pause");
return 0;
}
2. 修改
目前官网说,仅支持VS2017(version15.7)及以上版本添加编译器命令修改。
修改命令: /Zc:__cplusplus 或者 /Zc:__cplusplus-
命令添加到:
中文版VS:项目属性->c/c++->命令行->其他选项(D)
英文版VS:project's Property -> C/C++ > Command Line->Additional options: pane
3. __cplusplus 值
/Zc:__cplusplus switch | /std:c++ switch | __cplusplus value |
---|---|---|
Zc:__cplusplus | /std:c++14 (default) | 201402L |
Zc:__cplusplus | /std:c++17 | 201703L |
Zc:__cplusplus | /std:c++latest | 201704L |
Zc:__cplusplus- | (disabled) Any value | 199711L |
Not specified | Any value | 199711L |