为什么我的VS2013 编译器还是199711而不是201103L

时间:2021-05-24 09:11:13
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{
#ifndef __cplusplus
cout<<R"(C++预定义符出错)"<<endl;
#endif

#if __cplusplus < 201103L
cout << R"(不支持C++11)" << "\t"<< __cplusplus  << endl;
#else if
cout << R"(支持C++11)" << endl;
#endif
return 0;
}

本地环境:win8.1 +VS2012+VS2013,大家有遇到这种情况吗?如果这样子不按照标准的情况办支持C++11语法,那如果解决混编的问题还是暂时放弃新语法特性或者直接使用混编形式?

8 个解决方案

#1


我的g++也是199711,但是编译的时候加个选项“-std=c++11”就可以编译c++11
VS应该也有类似的设置吧

#2


我又试了一下VS2013express,也是199711,但是什么都不用设置直接就可以编译c++11

#3


目测因为vc还没有支持所有c++11特性,所以保守起见还是用老值。要是现在就改了新值估计又有人会发帖说这个已经201103了怎么还不支持char16_t,麻烦事更多。

#4


我的Ultimate 2013 是 199711

#5


语法糖越甜,编译调试查错越苦!
把有限的生命浪费在品尝/品鉴无穷多种的语法糖中,我认为不值当。

#6


引用 1 楼 *mill 的回复:
我的g++也是199711,但是编译的时候加个选项“-std=c++11”就可以编译c++11
VS应该也有类似的设置吧


在编译选项中是有这个设置,我使用VS的都是在编译这块比较低端,都是默认的,小白用户啊

#7


引用 5 楼 zhao4zhong1 的回复:
语法糖越甜,编译调试查错越苦!
把有限的生命浪费在品尝/品鉴无穷多种的语法糖中,我认为不值当。


没听懂,语法糖什么的总要进步。只是我不了解编译器基础啦。

#8


该回复于2014-09-24 09:32:25被管理员删除

#1


我的g++也是199711,但是编译的时候加个选项“-std=c++11”就可以编译c++11
VS应该也有类似的设置吧

#2


我又试了一下VS2013express,也是199711,但是什么都不用设置直接就可以编译c++11

#3


目测因为vc还没有支持所有c++11特性,所以保守起见还是用老值。要是现在就改了新值估计又有人会发帖说这个已经201103了怎么还不支持char16_t,麻烦事更多。

#4


我的Ultimate 2013 是 199711

#5


语法糖越甜,编译调试查错越苦!
把有限的生命浪费在品尝/品鉴无穷多种的语法糖中,我认为不值当。

#6


引用 1 楼 *mill 的回复:
我的g++也是199711,但是编译的时候加个选项“-std=c++11”就可以编译c++11
VS应该也有类似的设置吧


在编译选项中是有这个设置,我使用VS的都是在编译这块比较低端,都是默认的,小白用户啊

#7


引用 5 楼 zhao4zhong1 的回复:
语法糖越甜,编译调试查错越苦!
把有限的生命浪费在品尝/品鉴无穷多种的语法糖中,我认为不值当。


没听懂,语法糖什么的总要进步。只是我不了解编译器基础啦。

#8


该回复于2014-09-24 09:32:25被管理员删除