从C++11,14到C++17,C++20也马上到来了,在VS中如何设置C++标准了,经过一番探索,终于找到了该选项,如果要设置项目支持C++17标准,可以【右键属性】----【C/C++】---- 【语言】---- C++语言标准,即可设置对应的标准,目前VS2107已经可以支持C++17.
同样也可以用“__cplusplus”关键字码测试,代码如下:
#include "pch.h"
#include <iostream>
using namespace std;
int main()
{
//查看编译器版本
cout << __cplusplus << endl;
}
输出如下:
我设置的是C++17,怎么是输出1997年,肯定有问题,百度查了一把,还真是有问题,参考以下链接即可解决:
https://docs.microsoft.com/zh-cn/cpp/build/reference/zc-cplusplus?view=vs-2019
根根微软的规定,各个C++标准都有对应的输出结果,例如:
C++03:__cplusplus = 199711L
C++11:__cplusplus = 201103L
C++14:__cplusplus = 201402L (VC2017默认值)
在右键属性,C++ 命令行中添加 /Zc:__cplusplus,即可输出正确的结果。
现在的输出结果是正确的
C++已经有40多年了,是一门很成熟的高级语言,相对于Java, python, go可以说是父亲,爷爷级别的了,C++标准也一直在更新,应该还有很旺盛的生命力。