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 |