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吧:
这是我从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等等)。
VC++ 2013 Preview还没有支持,但是今年稍微时候的VC++ 2013 RTM版本,会加入非静态数据成员初始化、=default、=delete和using别名的支持,也就是说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左右差不多都有了。
说说自己的看法吧,在对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 Native,C++ and Beyond和Meeting C++等等。对了,Herb Sutter在PPT最后说了,今年的Going Native将于9月4-6号进行,非常期待这次纯C++会议!
Visual Studio 2013 Preview对C++11的支持的更多相关文章
- Visual Studio 2013 Preview 高清多图先睹为快
Visual Studio 2013 Preview已经发布.大家可以下载试用了哦: 选项加载明显比之前版本要快很多.
- Visual Studio 2013 Preview 新功能
先来看一下Visual Studio的版本历史: 1. Visual Studio.NET 2002 2. Visual Studio.NET 2003 3. Visual Studio.NET 20 ...
- Visual Studio 2013 Preview - ASP.NET, MVC 5, Web API 2新功能搶先看
Visual Studio 2013 Preview - ASP.NET, MVC 5, Web API 2新功能搶先看 來自TechEd North America 2013的第一手消息 以下資訊均 ...
- 微软正式发布Visual Studio 2013 Update 3 (2013.3) RTM
昨天微软的Visual Studio 2013 Update 3(Visual Studio 2013.3)正式发布(RTM)了,做为微软认证金牌合作的葡萄城控件,我们组织力量第一时间进行翻译.分享给 ...
- 微软正式公布Visual Studio 2013 Update 3 (2013.3) RTM
昨天微软的Visual Studio 2013 Update 3(Visual Studio 2013.3)正式公布(RTM)了,做为微软认证金牌合作的葡萄城控件,我们组织力量第一时间进行翻译. ...
- Visual Studio 2013 Update 3
微软正式发布Visual Studio 2013 Update 3 (2013.3) RTM 昨 天微软的Visual Studio 2013 Update 3(Visual Studio 201 ...
- Visual Studio 2013 Web开发
cnbeta新闻:微软正式发布Visual Studio 2013 RTM版,微软还发布了Visual Studio 2013的最终版本..NET 4.5.1以及Team Foundation Ser ...
- [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图
[.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图 1.活动图简介 定义:是阐明了业务用例实现的工作流程. 业务工作流程说明了业务为向 ...
- [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图
[.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图 1.UML简介 Unified Modeling Language (UML)又称统 ...
随机推荐
- 报错:LINQ to Entities 不识别方法
大致是: var products = db.Products.Select(new ProductVm{Name=SomeMethod() }); 针对IQueryable集合的查询操作会被LINQ ...
- java string转为xml
一.使用最原始的javax.xml.parsers,标准的jdk api // 字符串转XML String xmlStr = \"......\"; StringReader s ...
- Java关键字--static
在Java中,将关键字static分为三部分进行讨论,分别为Java静态变量.Java静态方法.Java静态类 Java Static Variables Java instance variable ...
- 线程互斥与析构函数中mutex的销毁
正在实现一个线程池的pthread包装器,突然发现有人在讨论关于http://blog.csdn.net/Solstice/article/details/5238671 是一篇比较老的文章,考虑了下 ...
- SQLServer公历转农历函数(1900年-2049年)
ALTER FUNCTION [dbo].[f_SysGetLunar]( @solarDay DATETIME) RETURNS varchar(20 ...
- ubuntu 16.04 source (HUST and 163)
#HUST deb http://mirrors.hust.edu.cn/ubuntu/ xenial main restricted universe multiverse deb http://m ...
- zxing扫码--镭射线
同步发表于http://avenwu.net/2015/09/15/zxing_view_finder_laser 在很多应用中都有二维码扫描的需求,比如微信,通过扫描电脑二维码,实现用户登录授权: ...
- IOC错误
问题描述: The type DbConnection cannot be constructed. You must configure the container to supply this v ...
- 菜鸟学JS(四)——javascript为按钮注册回车事件(设置默认按钮)
不得不说,在JS方面,自己真的是个不折不扣的菜鸟.对于JS以及一些JS框架如JQuery等JS框架,自己也只是处在简单应用的阶段,当然自己也在不断的学习当中,希望将来能跟大家分享更多JS方面的心得.今 ...
- 所有文章都迁移到我自己的博客了:http://blog.neazor.com
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...