AICon 深圳站 Keynote 嘉宾官宣!共探AI价值转化的实践路径 了解详情
写点什么

Visual Studio 距离支持 C++11/14 更近了

  • 2013-07-08
  • 本文字数:1213 字

    阅读完需:约 4 分钟

首先让我们明确:是的,作为微软承诺支持标准 C/C++ 的一部分,Visual Studio 即将提供许多 C99 和 C++ 11 特性(例如可变参数模板)。不过用户需要升级到 Visual Studio 2013 才能够与这些特性见面。

负责微软开发部门的全球副总裁 S.Somasegar发布了一份路线图,展现了有关遵循C++11/14 以及集成特定的C99 标准的规划。以C++ 为开始,Somasegar 通过微软的资深同事(也是合伙项目经理)Herb Sutter 分享了这一声明:

“Visual C++ 瞄准了C++14,因此我们将把C++11 和C++14 中的全部新特性作为一整套工作来完成。我们将实现全部特性,但我们将采用‘最有价值的部分最快交付给客户’的次序来实现。这意味着我们将支持全部C++11 和C++14 内容,但部分高价值的C++14 特性——例如泛型的lambda 表达式(generic lambdas)——会比其他一些C++11 特性更先问世。”

C++11 和 C++14 特性并不是仅有的新增内容,VS2013 的 RTM 版本(交付厂商版)中带有的 VC++ 编译器还将包含 C99 标准的元素,例如:变量声明、_Bool、复合文字和指定初始化程序。对于从事许多跨平台项目的开发者来说,对 C99 的支持非常重要; Somasegar 以 FFmpeg 能够在 VS2013 中编译为例子,展示了 VS2013 对 C99 的支持。

Stephan T.Lavaej 是从事 Visual C++ 库方面工作的微软高级开发者,他详细介绍了在VS2013 预览版/RTM 版及未来版本中值得期待的内容。并且Lavavej 还表示在VS2013 预览版中的标准模板库(STL)已经过重写,以利用这些C++11 特性:显式转换、运算符、初始化器列表、作用域内枚举以及可变参数模板。在VS2013 RTM 版本中,别名模板和删除的函数也将得到利用。STL 的许多领域都将被重写,而且看起来这套实现不仅从C++ 技术中获益,还将得益于技术债务的移除。

这些改进相结合,改善了编译时并减少了编译器内存消耗。Lavaej 提供了有关粗略基准测试的部分细节,但他声明编译器团队在2013 年3 月对编译器进行了重大修订,因此这些基准测试并不包含在这篇文章中。尽管如此,他认为可变参数模板的结合仍旧是一个意义重大的改进。

Bug 修复、STL 变更以及编译器特性都将作为 VS2013 的一部分发布。 Lavavej 解释道:考虑到复杂性因素以及为了在正式发布版中提供更好的测试资源,微软不会这些改进放在 VS2012 的一份升级中。Lavavej 提供了一份内容丰富列表,列出了修复的各种类型的错误(基于 C++ 和 STL 支持)。对那些努力想要知道 VS2013 中是否会包含某个特定补丁的人来说,这份列表信息量很大。

鉴于到大量对话都围绕着未来的 Visual Studio 升级(相对于主线的 RTM 版本)中将包含什么,寻求对 C++11/14 支持的开发者应该聚焦于 VS2013 RTM 版本中包含哪些内容。如果计划中包含一个后 RTM 的社区技术预览版(CTP,又称作阿尔法版本),那么开发者要想获得像诸如 C++14 泛型的 lambda 表达式这样的特性,需要做好购买 VS2013+N 的心理准备。

查看英文原文: Visual Studio Moves Closer to C99 and C++11/14 Support

2013-07-08 07:418505
用户头像

发布了 256 篇内容, 共 82.4 次阅读, 收获喜欢 10 次。

关注

评论

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

技术探索系列 - 轻松带你掌握JMM(2)

码界西柚

JVM JMM 5月日更

第一个鸿蒙应用

释缘

鸿蒙 HarmonyOS

中国式美好假期:用AI地图,抢先体验未来出行

脑极体

求求你别再用 MySQL offset 和 limit 分页了

xcbeyond

MySQL 5月日更

AI英雄出少年!奔赴星辰,他们正在创造黄金时代

百度大脑

AI

存储优化补充篇:Explain索引优化实操

Coder的技术之路

高并发 高并发系统设计 项目实战 数据库调优 索引优化

如何做好用户画像?

石云升

创业 用户模型 5月日更

新书见面 | 《云原生时代的微服务架构实践》

Damon

微服务 云原生 5月日更

数据架构:数据冷热分离实践思考

程序员架构进阶

数据架构 架构设计 28天写作 5月日更 冷热分离

华仔架构训练营作业(模块三)

不听不听王八念晶

看了小姐姐的Spring SPI 总结,双非渣硕的我差点跳起来,被征服了

牛哄哄的java大师

Java

太好用了!斩获3个大厂Offer后,才发现学霸给的JVM笔记有多强大

飞飞JAva

Java

惊呆了!阿里自爆2021年度九大Java技术合集,Github上已获赞98.3K

Java架构师迁哥

Nginx-代理服务器

进击的梦清

nginx Docker Linux Docker-compose 代理

私域流量这件事,古代就有了……

白洞计划

架构实战营 -- 模块三

永佳

架构实战营

模块1作业

圆心角

「技术人生」专题第1篇:什么是技术一号位?

阿里巴巴中间件

技术 程序人生 方法论 思维

内卷

Jxin

想提升查询性能?openLooKeng新下推框架助您一臂之力

LooK

基于OpenPAI细化部署 Hadoop 集群

Damon

hadoop 5月日更

Nginx 常用配置清单

Java小咖秀

nginx Web 反向代理 HTTP

分解的三要素,从经典中感悟

顿晓

5月日更 分解

基于 MySQL 的消息队列系统架构设计文档

小遵

架构实战营模块三作业

竹林七贤

辞旧迎新岁岁新

Thomas

matlab

【得物技术】软件工程与PlantUML实战

得物技术

软件工程 UML PlantUML 实战 得物技术

网络攻防学习笔记 Day7

穿过生命散发芬芳

5月日更 网络攻防

架构实战营 - 模块三作业

Sun

程序员应如何打破平庸,杜绝淘汰,避免内卷!【强烈建议收藏!】

程序员 ios开发

PHP文件包含小总结

Thrash

安全

Visual Studio距离支持C++11/14更近了_C++_Jeff Martin_InfoQ精选文章