1.背景
操作系统:windows10
使用的IDE:visual studio comunity 2019
2.代码
#include <iostream>
using std::cout;
using std::endl;
int main() {
// 打印__cplusplus 的值
if (__cplusplus > 201703L) cout << "C++2a\n";
else if (__cplusplus == 201703L) cout << "C++17\n";
else if (__cplusplus == 201402L) cout << "C++14\n";
else if (__cplusplus == 201103L) cout << "C++11\n";
else if (__cplusplus == 199711L) cout << "C++98\n";
else cout << "pre-standard C++\n";
cout << __cplusplus << std::endl;
cout << "Press ANY key to exit.";
//std::cin.get();
return (0);
}
3.运行
我的工程项目为Project1,其属性配置如下:
vs2019的菜单栏:项目(P)–>Project1属性(我的工程名称为Project1)
如下图1:
进入Project1属性页,选择"配置属性"下的 “常规”->“C++语言标准”–>“ISO C++17 标准 (std:c++17)”
如下图2:
在Project1属性页,选择"配置属性"下的 “C/C++”->“命令行”–>“其他选项(D)”
输入:/Zc:__cplusplus (注意是两个下划线短横_ _)
如下图3:
运行如下图4:
4.说明
当上图3的配置取消时,即将"其他选项(D)“中的”/Zc:__cplusplus “删除时,运行如下图5:
说明:
visual studio 考虑到老旧项目的兼容性,故意将”__cplusplus"定义为199711,即"C++98";
要将"__cplusplus"变为编译器对应的版本,你需要按照上图3,进行显示的配置。