微软的新编译器增加了对C++11特性的支持

2012 年 11 月 15 日

在 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 )关注我们,并与我们的编辑和其他读者朋友交流。

2012 年 11 月 15 日 10:232575
用户头像
臧秀涛 极客邦科技技术会议负责人

发布了 300 篇内容, 共 113.9 次阅读, 收获喜欢 21 次。

关注

评论

发布
暂无评论
发现更多内容

微信推文无缝滚动是这样炼成的

喵喵

微信 前端开发 微信公众号 微信推文 图文混排

栀子花,我们应该像你一样静静绽放

小天同学

个人感想 感悟 日常思考

管理规划篇

姜戈

团队管理 团队组织

2020全球首创币期权DAPP智能合约强势来袭,闪耀数字经济

极客编

使用 Markdown 制作五线谱

Roc

GitHub markdown 五线谱

软件开发生产率改进之我见(二)

清水

软件工程 软件开发 技术管理

redis过期策略和内存淘汰机制

wjchenge

宕机原因千千万,被雷劈了最无奈

田晓旭

你真的会用Mac中的Finder吗

Winann

macos 效率 App Mac

Windows10 如何正确修改本地用户的名称及目录

喵喵

windows Windows 10 电脑故障 Windows技巧

使用<input>标签实现六个格子验证码输入框

brave heart

Java vue.js 前端

你为什么“啃不动”你手中的技术书?

图灵社区

Java Python 算法 HTTP R语言

python实现·十大排序算法之计数排序(Counting Sort)

南风以南

Python 排序算法 计数排序

2020年下半年计划

Tango

年度计划

ARTS week 2

锈蠢刀

Spring Security 两种资源放行策略,千万别用错了!

江南一点雨

Java spring springboot springsecurity

源码分析 | Mybatis接口没有实现类为什么可以执行增删改查

小傅哥

Java 源码分析 小傅哥 mybatis 编程思维

数据与广告系列三:合约广告与与衍生的第三方广告数据监控

黄崇远@数据虫巢

数据挖掘 互联网 广告 移动互联网

OBS推流学习笔记

Tango

直播 OBS 推流 B站直播

写给产品经理的信(4):你一定要做产品经理么?

夜来妖

生涯规划 产品 程序人生 产品经理 职业规划

点击劫持:无X-Frame-Options头信息(修复)

唯爱

健身一周年:持续锻炼带来无法想象的改变

Breeze

学习 职业 专注 健身

财富的大门给我开了一条缝

YoungZY

读书笔记 读书

ARTS week 1

时之虫

ARTS 打卡计划

RASP研发踩坑之agent 加载机制(1)

国服第一

Java JVM 类加载 RASP

Android原生人脸识别Camera2+FaceDetector 快速实现人脸跟踪

sar

好的软件工程原则

pydata

教师节H5案例制作思路分享

喵喵

前端开发 H5游戏

在 Go 中使用并发编程 - 第二部分

TuringTuring

golang 并发编程 协程 线程模型

提升输入效率第一步——切换双拼

dongh11

效率工具 提升效率 生产力 分享 有趣

假如孔乙己是程序员

顿晓

学习 程序员 孔乙己

微软的新编译器增加了对C++11特性的支持-InfoQ