在 Build 2012 开发者大会上,Herb Sutter 就微软对 C++11 和 C++ 社区的总体支持做出了一项重要宣布。当微软发布 VS2012 时,他们保证该产品的架构就是为支持带外发布而设计的,以便使新特性能够更快速地进入市场。不过, Sutter 也让公众了解到,为了改进 Visual C++ 对全部 C++11 标准的支持,2012 年 11 月的 CTP 版本包含了一个新的编译器。虽然尚不完整,但是可以看到微软的进步。
在介绍该更新时,Sutter 评论说,“在微软,我们喜爱.NET,也喜爱 HTML5 和 JavaScript,但是很多工作是构建于 C++ 之上的”。为了强调这一支持,他指出相对于过去用 C 编写 Windows,现代 Windows 对 C++ 的依赖越来越多了。
这点很重要,在 Sutter 看来,在微软只有一个团队是其他团队都要依赖的——“每个团队都(直接或间接地)依赖于 Visual C++”。这个预览版提供了以下新特性:
- 显式类型转换运算符
- 原始的字符串字面量
- 函数模板默认参数
- 委托构造函数
- 统一的初始化与 initializer_list(CTP 尚不支持 vector 初始化语法)
- 变长参数模板
Sutter 很快又指出,这次发布的编译器只是一个预览版,也就是说不应该将其用于产品代码中。(该预览版可以与 VS2012 Express for Desktop 一起使用。)
CTP(正式名称是“Visual C++ Compiler November 2012 CTP”)目前已经可以从微软的网站下载了。微软的Stephan T. Lavavej 在Channel 9 发布了一个介绍这些新特性的教程。
Sutter 提到微软会继续为 VS2012 提供带外更新,有关 C++11 的更多更新会在 2013 年上半年提供。
ISO C++ 发布时间表加快
Sutter 不仅宣布了 CTP,他还提到:微软、Google、IBM 和 Intel 联合其他一些公司和组织成立了标准 C++ 基金会,致力于 C++ 语言的推广、指导和开发。 基金会的创始人包括 Herb Sutter、Bjarne Stroustrup、Chandler Carruth(Google)、Beman Dawes(Boost)、Michael Wong(IBM)和 Stefanus Du Toit(Intel)等。
Sutter 还说到,一个新的主要 C++ 标准——C++17——计划于 2017 年发布。 2014 年将会发布一个小的升级版本。这说明相对于之前的发布节奏(C++ 98、 C++03 和 C++11),标准化进程将大大加速。
为了使新 C++ 的信息更为透明以及向大众公布相关新闻,Sutter 还宣布了 isocpp.org 网站,他将其描述为“实现 C++ 同盟的大本营”。该网站的目标是让标准化过程更为透明并且能够开放地交流,还能为对现代 C++ 开发有兴趣的人提供最新的有用信息。
查看英文原文: Microsoft’s New Compiler Increases C++11 Compliance
感谢李永伦对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论