写点什么

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:193930
用户头像
臧秀涛 略懂技术的运营同学。

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

关注

评论

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

IDEA的Docker插件实战(Docker-compose篇)

程序员欣宸

Docker Docker-compose 10月月更

大数据ELK(二十一):Logstash简介和安装

Lansonli

Logstash 10月月更

Qt | 深入了解Qt的委托类

YOLO.

qt 10月月更 C++

两数之和

掘金安东尼

算法 10月月更

算数、赋值、比较、逻辑、三元运算符

共饮一杯无

Java 运算符 10月月更

前端线下面授培训机构该怎么选择?

小谷哥

如何在 SAP BTP 平台上重用另一个已经开发好的 service

汪子熙

云原生 SaaS 云平台 SAP 10月月更

STM32L051测试 (二、开始添加需要的代码)

矜辰所致

stm32 STM32CubeMX 10月月更

小程序运营怎么做?

源字节1号

软件开发 前端开发 后端开发 小程序开发

上岸稳了!GitHub标星115k+的阿里内部Java学习教程限时开源

Geek_0c76c3

Java 数据库 程序员 架构 开发

如何用AR Engine环境Mesh能力实现虚实遮挡

HarmonyOS SDK

AR

数字化转型:营销数字化

小鲸数据

数字化 营销数字化 客户数据平台 CDP 营销数据中台

谈谈前端性能优化-面试版

loveX001

JavaScript

Python进阶(十)Python 编程规范

No Silver Bullet

Python 编程规范 10月月更

AndroidStudio最新版(2021.1.21)编译C++代码生成so文件

中国好公民st

c++ Android; 10月月更

全网首发“Java面试考点大全”,25+专题梳理:JVM+多线程+Spring全家桶+MySQL+Redis等

Geek_0c76c3

Java 数据库 程序员 架构 面试

搜索中常见数据结构与算法探究(一)

京东科技开发者

数据结构 ES 哈希 数据结构算法 搜索算法

LinkedList源码分析(四)

知识浅谈

linkedlist 10月月更

web3 chainlink 预言机喂价、VRF

1_bit

智能合约 web3 chanlink

MobPush iOS端常见问题

MobTech袤博科技

ios

初学大数据培训学习入门

小谷哥

Spring JPA 如何进行无参数查询布尔类型

HoneyMoose

vivo互联网机器学习平台的建设与实践

vivo互联网技术

人工智能 机器学习 推荐系统

研发效能领域的“百科全书”重磅来袭!

博文视点Broadview

SeaTunnel连接器V1到V2的架构演进与探究

Apache SeaTunnel

API 数据集成 连接器 Apache SeaTunnel 数据集成平台

又一里程碑!阿里首推Java面试通关手册,必须人手一份!

Geek_0c76c3

Java 数据库 程序员 架构 面试

前端培训学习的就业前景是什么样的

小谷哥

年底前端面试题总结(上)

loveX001

JavaScript

Qt | Qt的动画框架和类

YOLO.

qt 10月月更 C++

Java数据类型转换

共饮一杯无

Java 类型转换 10月月更

打破“双十定律”,华为云AI推动超级抗菌药Drug X研发加速

华为云开发者联盟

AI 华为云 药物研发 盘古大模型 企业号十月 PK 榜

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