最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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

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

关注

评论

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

硬刚Presto | Presto原理&调优&面试&实战全面升级版

王知无

使用uni-upgrade-center搭建APP更新系统(升级中心+应用升级)

代码哈士奇

uni-app uniapp unicloud uni-admin uni-upgrade-center

大势已来,区块链的真正价值是什么?

CECBC

网络攻防学习笔记 Day57

穿过生命散发芬芳

网络攻防 6月日更

架构实战训练营 - 模块七课后作业

Johnny

架构实战营

计算机网络概述

若尘

计算机网络 6月日更

谁也讲不明白的SQL注入攻击被我讲明白了(中)?

网络安全学海

程序员 网络安全 计算机 渗透测试 SQL注入

元数据的管理

奔向架构师

数据库 大数据 数据资产

硬刚ClickHouse | 4万字长文ClickHouse基础&实践&调优全视角解析

王知无

如何给岗位设计薪资结构?

石云升

股权 薪酬 职场经验 6月日更

浩若烟海事半功倍|利用Docker容器技术构建自动化分布式web测试集群Selenium Grid

刘悦的技术博客

Docker Python3 测试 单元测试 测试环境 selenium

硬刚数据仓库|SQL Boy的福音之数据仓库体系建模&实施&注意事项小总结

王知无

嵌入方法在推荐系统中的应用(二十)

数据与智能

推荐系统 嵌入

架构师实战营 模块七总结

代廉洁

架构实战营

这样理解Mysql索引,阿里面试官也给你点赞

慕枫技术笔记

MySQL 后端 索引

最佳的管理者-库克

卢卡多多

苹果 管理者 6月日更

硬刚Hbase - 17道题你能秒我?我Hbase八股文反手就甩你一脸

王知无

前端 JavaScript 中的三种 for 循环语句总结

编程三昧

JavaScript 大前端 for循环

让数字经济成滇中崛起增长极新引擎

CECBC

2021最新Spring Security知识梳理

北游学Java

Java spring

硬刚用户画像(一) | 标签体系下的用户画像建设小指南

王知无

企业级一站式大数据开发平台理论及实践

王知无

区块链引发了一场独特的社会运动

CECBC

硬刚Apache Iceberg | 技术调研&在各大公司的实践应用大总结

王知无

使用uni-admin搭建后台管理系统

代码哈士奇

uni-app uniapp unicloud uni-admin

JAVA 面向对象 (十三)-- 关键字static

加百利

Java 6月日更

为什么 Python 没有函数重载?如何用装饰器实现函数重载?

Python猫

Python

硬刚Hive | 4万字基础调优面试小总结

王知无

Data Mesh,数据网格的道与术

王知无

「SQL数据分析系列」11. 条件逻辑

数据与智能

数据库 sql 逻辑 条件

架构师实战营 模块七作业(王者荣耀商城的异地多活架构设计)

代廉洁

架构实战营

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