QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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:418297
用户头像

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

关注

评论

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

小程序开发-云开发技术总结

我是哪吒

小程序 程序员 大前端 28天写作 2月春节不断更

关于央行数字货币若干问题的思考 | 比较

CECBC

数字货币

一道好题!我觉得面试如果考察「双指针」的话,这题是刚刚好 ...

宫水三叶的刷题日记

面试 LeetCode 数据结构与算法

一口气发布十大建网利器,华为打算煲出怎样的5G味道?

脑极体

优雅编程 | javascript代码优化的4个小技巧

devpoint

递归 命名空间 闭包 函数绑定

构建“金融+司法”新局面:兴业消费金融区块链电子存证系统正式上线

CECBC

金融

字节跳动面试官这样问消息队列:高可用、不重复消费、可靠传输、顺序消费、消息堆积,我整理了下

冰河

面试 分布式 中间件 消息队列 一起进大厂

Elasticsearch 查询结果排序

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

javascript中的内置对象和数据结构

程序那些事

JavaScript 数据结构 ES6 程序那些事

阿里粗排技术体系与最新进展

DataFunTalk

移除数组中的数字,不用额外空间, 实战RxSwift中的Observable, subscribe, dispose, 吴军老师态度读后感 John 易筋 ARTS 打卡 Week 39

John(易筋)

ARTS 打卡计划 吴军的态度 态度读后感

基于grpc手撸一个RPC框架

cloudcoder

28天瞎写的第二百四十三天:正念冥想可以解决什么问题?

树上

冥想 28天写作 正念

为您收录的操作系统系列 - 进程管理(下篇)

鲁米

方法论 操作系统 进程

风口上的量子计算机:核聚变一样的赌局,钻石一样的骗局

脑极体

Linux入门篇 —— Shell详解

若尘

Linux 命令行 linux操作

Kalm——基于Kubernetes的部署工具

David

开源 Kubernetes DevOps 运维 运维平台

科大讯飞发布全新一代智能办公本X2

Xue Liang

火山翻译:工业级应用与研究

DataFunTalk

伊卡洛斯象征了什么?「Day 5」

道伟

文化 28天写作

如何有效改变别人的认知和行为?

数列科技杨德华

28天写作

深度丨从货币历史看比特币的诞生

CECBC

比特币

热点浅谈:低代码开发平台发展前景与市场规模!

优秀

低代码 低代码开发 低代码开发平台

区块链电子合同存证,电子合同区块链服务平台

13530558032

诊所数字化:患者数字档案的价值机遇和风险

boshi

数字化医疗 七日更 28天写作

runtime笔记

Conan

ios

简单的网站搭建

很甜回忆

网站

【计算机内功修炼】十:线程间到底共享了哪些进程资源

码农的荒岛求生

c c++ 线程 操作系统 进程

【2021海量真实校招】软件测试面试真题,(大数据整理)刷完应对各家企业面试完全没有问题!

程序员阿沐

面试 软件测试 自动化测试 黑盒测试 白盒测试

解读云原生技术

xcbeyond

Kubernetes 云原生 服务网格 28天写作

翻译:《实用的Python编程》02_05_Collections

codists

Python

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