写点什么

C++14 标准已获通过

  • 2014-08-20
  • 本文字数:997 字

    阅读完需:约 3 分钟

8 月 18 日,C++ 标准委员会召集人Herb Sutter 发表了一篇博客《We have C++14!》。Sutter 宣布,经过投票,C++14 标准获得一致通过。草案文档经过一定的文字润色和修正之后,将在年内提交给ISO 作为正式的C++ 标准发布。

C++ 之父 Bjarne Stroustrup 写道:“C++14 按时交付了,主要的编译器提供商也已经在提供相应的实现。真是太棒了。对于想把 C++ 当作一门现代语言使用的人而言,这是一个利好。”

文中还提到,在标准制定的同时,已经有编译器在提供部分或完全兼容的实现。这在 C++ 标准化历史上是未曾有过的。第一个完整支持 C++98 的实现在标准发布大约 5 年之后才出现。C++11 的完整支持也是在标准发布之后两年左右的时间才出现的。

C++14 是对 C++11 的小幅修正,引入的新特性并不算很多。核心语言方面的新特性包括:

  • 二进制字面常量
  • 函数返回类型推导
  • decltype(auto)
  • Lambda 捕获部分使用表达式
  • 泛型的 Lambda
  • 变量模板
  • 扩展的 constexpr
  • deprecated 属性
  • 单引号用作数字分位符

标准库方面的扩展包括:

  • 共享锁
  • 标准自定义字面常量
  • make_unique
  • _t 类型别名

第一个完整支持 C++14 的实现是今年 1 月发布的 LLVM/Clang 3.4。其发布说明中介绍了它所支持的新语言特性。要使用新特性,需要在编译时提供-std=c++1y 选项。

GCC 已经支持大部分 C++14 特性,比如二进制字面常量、函数返回类型推导和泛型的 Lambda 等,具体支持状态可以参见该页面

Visual C++ 的支持状态可以参见这个页面

C++14 的通过在 Hacker News 上引发了热议。网友 daenz 对现代 C++ 的变化非常满意,他表示:

复制代码
C++ 已经变成我的一门杀手级语言:超级快、现代、无处不在、稳定而且表达力强。

不过 PopsiclePete 就表示了反对,他认为这是假象,“现代 C++”只存在于博客、书籍和教程中,现实世界中的 C++ 是互相冲突的方言、模式和规则的综合体。MFC、Qt、Boost 等类库和框架读起来差别太大了。他认为 Go、Rust 等语言更安全、更好,可以填补 C++ 的空缺。

也有很多人对新标准带来的编码方面的改进表示欣喜。感兴趣的读者可以自行查看相关讨论。

C++14 并不是终点,下一个主要标准 C++17 已经在讨论之中。对标准化过程感兴趣的读者可以关注 https://isocpp.org/ ,这是最新、最权威的网站。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-08-20 05:194034
用户头像
臧秀涛 略懂技术的运营同学。

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

关注

评论

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

字节跳动内测音乐流媒体服务:能否在音乐领域分一杯羹

石头IT视角

零代码平台在大型企业的进化之路

明道云

Go语言:代码检查和优化!

微客鸟窝

Go 语言

在线MarkDown转HTML工具

入门小站

通过运行期类型检查实现泛型算法

喵叔

7月日更

Win10系统下基于Docker构建Appium容器连接Android模拟器Genymotion完成移动端Python自动化测试

刘悦的技术博客

Python Docker 自动化 自动化测试 Genymotion

模块三作业

Tina

最详细的多线程讲解!

愚者

Java 多线程

浅析“关于区块链解决资本主义问题还是社会主义问题”的对与错

CECBC

明道云与阿里1688对接案例

明道云

毕业设计:设计电商秒杀系统

张大彪

架构实战营 - 模块三作业: 架构文档

Julian Chu

架构实战营

真的太刺激了,蚂蚁金服难忘的四面经历:Linxu+数据库+数据结构+算法+计算机网络

Java 程序员 架构 面试 计算机

模块三外包学生管理系统架构文档

kitten

架构师训练 模块三

架构实战营 模块 3作业 - 消息队列架构设计文档

Geek_8c5f9c

架构师训练

Java版人脸检测详解下篇:开发java应用并做成docker镜像同步

编程菌

Java 编程 程序员 技术 技术栈

模块三作业

秀聪

架构训练营

原来ReadWriteLock也能开发高性能缓存,看完我也能和面试官好好聊聊了!

冰河

Java 并发编程 多线程 高并发 异步编程

记一次小有成就的代码审计

网络安全学海

网络安全 信息安全 渗透测试 安全漏洞 代码审计

JAVA的多线程与高并发

愚者

Java 多线程

网络攻防学习笔记 Day87

穿过生命散发芬芳

网络攻防 7月日更

模块三作业:外包学生管理系统架构文档

babos

#架构实战营

Vue深入学习1—mustache模板引擎原理

魁首

Vue 3

【架构设计模块三】:学生信息管理系统的架构文档

Ryoma

声网 X Yalla:面对面不如线上见,中东年轻人最偏爱的语聊房是怎样“炼”成的?

声网

人工智能 产品方案

生态和场景一站式集成?来看看小程序的“共享主义”

蚂蚁集团移动开发平台 mPaaS

小程序 支付宝 移动开发 生态 mPaaS

中国高校竟然有两个“智能”专业?

脑极体

Linux之kill命令

入门小站

Linux

“区块链+物联网”的发展现状和应用案例

CECBC

首张区块链《代理出口货物证明》 区块链技术首次应用于出口退税

CECBC

【学习笔记】:使用Chrome浏览器的网络面板分析http请求

姬翔

C++14标准已获通过_语言 & 开发_臧秀涛_InfoQ精选文章