Visual Studio 2013 Preview对C++11的支持

为期3天的微软Build 2013大会结束了,做为微软一年一度的开发者大会,微软也作足了功夫:不少产品(包括Windows 8.1和Visual Studio 2013 Preview)发布,channel9全程直播,能够到http://channel9.msdn.com/Events/Build/2013这边查看会议的全部内容。架构

虽然整个Build大会不像Google的I/O和Apple的WWDC那么热闹(Google和Apple的粉丝比较多),但我却是一直很是期待,其中最大的期待在于Herb Sutter曾近承诺在2013年上半年提供一个更好支持C++11的VS版本。Herb Sutter(Visual C++首席架构师、C++标准委员会主席,能够说是当今C++领域影响最大的人物之一了)在Build大会第三天有个演讲,题目叫作“The Future of C++”,具体介绍了Visual Studio 2013 Preview对C++11的支持。在这个演讲以前,我已经把Visual Studio 2013 Preview安装起来,并尝试了一些在Visual Studio 2012中没有被支持的C++11特性,差很少得出了一个支持列表。函数

OK,仍是看看Herb Sutter给出的官方roadamp吧:ui

2-306

这是我从Herb Sutter的演讲PPT中截的图,注意题目:根据Sutter的介绍,Visual Studio并无把目标直接定为C++11,而是定位为C++14 wave,所谓C++14 wave,是与C++14(C++11以后的一个minor release,做为C++11的补充,已经于今年早些时候成型,其draft已经得到C++标准委员会经过)相关的一套标准,包括一些新的库。视频

VC++ 2013 Preview相比于VC++ 2012多出的C++11特性的在第一列,包括委托构造函数统一初始化列表可变模板参数等等,固然还有一些C++14的特性(cbegin和make_unique等等)。blog

VC++ 2013 Preview尚未支持,可是今年稍微时候的VC++ 2013 RTM版本,会加入非静态数据成员初始化、=default=deleteusing别名的支持,也就是说VC++2013 RTM基本上支持C++11的经常使用特性,可是并不包括constexpr(Sutter说暂时不支持constexpr的缘由在于VC++没有AST树,如今正在添加AST,我感受很奇怪,以前VC++是怎么完成编译过程的?)和noexcept。开发

剩下来的C++11特性部分在一个叫作Post-RTM OOB CTP开发版本中完成,还有的特性正在计划中,看来Herb Sutter的想法的确是直接瞄准C++14的,根据VS如今的发布频率,全部的这些特性我感受在2015左右差很少都有了。get

说说本身的见解吧,在对C++11的支持上,Visual C++相比于GCC和Clang来讲,固然是落后一大截了,两个开源编译器都已是feature complete了。可是VC++做为商业产品,固然有本身的考虑。微软对C++有本身的扩充( C++/CLI, C++/CX, C++ AMP),何况C++对于微软来讲地位不像C#那么高,整个VC++的团队是比较小的(你们能够到http://channel9.msdn.com/Events/Build/2013/2-306这里看下面的评论),在这种状况下,我我的感受能作到这样已是很不容易了。我我的很是佩服Herb Sutter,一我的身兼这么多重要职位,各方面的事情都处理得很好,另外本身还常常写技术博客,很好奇他是怎么利用时间的!编译器

在看整个视频的过程当中,有个很深的感觉:会场上好像没有太多对技术很感兴趣的开发者,气氛不够浓烈,不像一些专门的C++会议有那么好的气氛,好比Going NativeC++ and BeyondMeeting C++等等。对了,Herb Sutter在PPT最后说了,今年的Going Native将于9月4-6号进行,很是期待此次纯C++会议!博客

相关文章
相关标签/搜索