【C++】1-1.4 visual studio 2019获得编译器版本

【C++】1-1.4 visual studio 2019获得编译器版本

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,进行显示的配置。

猜你喜欢

转载自blog.csdn.net/jn10010537/article/details/115037213