写点什么

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

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

关注

评论

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

怎么用systemd进行进程守护

linux大本营

Linux 进程 守护进程

Android动画之帧动画

芯动大师

android App 三周年连更

程序踩内存后,应该怎么排查

linux大本营

进程 内存管理 内存泄漏 C++

xnginx在安全网关的应用场景

linux大本营

openresty 网关 web服务器

Go HTTP 调用

陈明勇

Go golang HTTP 三周年连更

c语言实现timer的10个技术点

linux大本营

进程 定时器, Timer 文件描述符

借由Net5.5G,看到运营商的新沧海

脑极体

5.5G

薪资结构重铸: Zebec将业务范围扩大到Web2薪资管理领域

股市老人

用户痛点与根因识别:解锁企业数字化转型成功的关键

L3C老司机

C++如何拿到线程池的返回值

linux大本营

线程池 C++

一键生成通用的web服务(gin)完整项目代码,开发效率至少提升2倍

vison

golang Web gin框架 代码自动生成

OpenResty接口的详细讲解

linux大本营

负载均衡 反向代理 openresty 网关 HTTP服务

挑战 30 天学完 Python:Day10 循环语句

MegaQi

Python3 挑战30天学完Python 三周年连更

AI能训练出符合“核心价值观”的人工智能吗?

FN0

人工智能 ChatGPT Claude

OceanBase 4.1解读:我们想给用户一个开箱即用的OceanBase部署运维工具

OceanBase 数据库

数据库 oceanbase

算法题每日一练:组合总和 II

知心宝贝

数据结构 算法 前端 后端 三周年连更

一文读懂物联网 MQTT 协议之实战篇

老周聊架构

三周年连更

AI视觉实战1:实时人脸检测

轻口味

android AI 三周年连更

火山引擎边缘云,助力业务敏捷创新

火山引擎边缘云

CDN 边缘计算 火山引擎 边缘云

2023-04-20:有一堆石头,用整数数组 stones 表示 其中 stones[i] 表示第 i 块石头的重量。 每一回合,从中选出任意两块石头,然后将它们一起粉碎 假设石头的重量分别为 x 和

福大大架构师每日一题

golang 算法 rust 福大大

OpenCV图像模糊操作(1) | 社区征文

A小调协奏曲

OpenCV C++ 三周年连更

大型商业银行的超级App是如何“组装”而成?

Onegun

超级app 超级应用

生活中的不确定性,如何应对?

Jack

华为云 OpenTiny 跨端、跨框架企业级开源组件库项目落地实践直播即将开启!

Kagol

开源 前端 Vue 3 UI组件库

组件必知必会|那些年我们使用过的轮子—Filter和Proxy

浅羽技术

javaWeb Proxy 过滤器 组件 三周年连更

Django笔记十二之defer、only指定返回字段

Hunter熊

Python django defer only

华为云数据灾备方案,做好企业数据的坚硬后盾

YG科技

io_uring的10个技术点

linux大本营

高并发 异步 零拷贝 io_uring

lwip_recv_tcp阻塞读取数据代码

linux大本营

TCP 阻塞队列

小程序自定义组件开发

程序员海军

小程序 三周年连更

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