2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

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

关注

评论

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

Java + opencv实现视频人脸检测

张音乐

OpenCV 人脸识别 视频

算法:求两个单向链表的最早公共交点

程序员架构进阶

算法 链表 28天写作 3月日更 算法解析

Centos7下Docker安装&配置&镜像加速

happlyfox

学习 ,docker 3月日更

软件架构中的模块与组件

Simon

架构实战营

零信任提升组织的数字安全性

龙归科技

网络 数字时代 零信任

FFmpeg应用篇

Changing Lin

3月日更

如何快速掌握 Kubernetes 网络

倪朋飞

学习方法 Kubernetes 云原生

关于Vue权限路由思考

程序员海军

Vue 大前端 vue-router 权限认证 按钮权限

记上周双休日的加班

sadhu

加班

从新手到专家:如何设计一套亿级消息量的分布式IM系统

JackJiang

架构设计 即时通讯 IM

微服务时代组件化和服务化的抉择

vivo互联网技术

微服务 组件化 服务化 服务调用

高性能公链能为 DeFi 带来什么?

CECBC

区块链

Java + opencv 实现图片人脸检测

张音乐

Java AI OpenCV ffmpeg 人脸识别

如何激励员工?—— 马斯洛需求理论

石云升

激励 28天写作 职场经验 管理经验 3月日更

【Axure9百例】47.CSDN的列表样式

zhuchuanming

原型设计 Axure 交互原型

Redis - 主从模式

insight

redis 3月日更

聊聊集群、分布式和微服务之间的异同点

架构精进之路

分布式 微服务 集群 3月日更

工作三年,小胖不知道 MySQL 日志是干嘛的。真的菜

一个优秀的废人

MySQL mysql事务 MySQL日志

满满干货|支付宝美女面试官的贴心锦囊

Lily

普元CTO焦烈焱:成长之路务必重视工程能力

EAWorld

程序员

《MySQL》系列 - select 查询语句到底是怎么执行的?

一个优秀的废人

MySQL 数据库 原理 sql查询

跨越数据的“叹息墙”:华为下一代数据湖与HPDA时代

脑极体

推动产业数字化 提升服务实体经济质效

CECBC

科技

OKR实践中的痛点(4):再谈老板的KR我的O

大叔杨

OKR 敏捷 绩效 敏捷绩效

go + ffmpeg + goav 实现拉流解码器

张音乐

音视频 ffmpeg Go 语言 goav

Java反射简析

Langer

Java java反射

记一次生产环境大面积404问题!

冰河

nginx 网关

“数字足迹”怕暴露,数字人民币如何守护你我隐私安全?

CECBC

数字货币

工作四年,分享50个让你代码更好的小建议

比伯

Java 程序员 架构 程序人生 计算机

双非怎么了

我是程序员小贱

3月日更

局域网服务器访问外网方案

程序员与厨子

Linux 网络 路由表

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