大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

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

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

关注

评论

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

火山引擎的AI语音技术

淼.

使用粗糙贴图制作粗纹皮革手提包3D模型

3D建模设计

3D渲染 纹理贴图 模型渲染 材质纹理 材质编辑

2023年,用友BIP持续发展,引领企业数智化

用友BIP

MatrixOne完成与麒麟软件服务器操作系统的兼容互认

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

从0到100TB,MatrixOne助您轻松应对

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

MCube动态化与原生工程结合最佳实践 | 京东云技术团队

京东科技开发者

前端 跨端 动态化 MCube

React基础知识入门

小白Coding日志

前端 React

如何使用玻璃材质制作钻石3D模型

3D建模设计

3D渲染 纹理贴图 模型渲染 材质纹理 材质编辑

创新释放:Atlassian 人工智能引领现代工作

跟YY哥学Jira

人工智能 项目管理 Jira Confluence ChatGPT

深入探讨 Swagger Array:开发者的步步为赢指南

Liam

后端 开发工具 swagger API 文档 web 开发

强大的系统活动监控器:iStat Menus 激活中文版最新

胖墩儿不胖y

系统监控工具 Mac电脑软件

矩阵起源与深圳大学达成专利开放认可合作,坚持科技是第一生产力

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

什么是API数据接口该怎么使用?

Noah

一个 41 岁老程序员的 2023 年总结 - 利用 AI 延长自己的编程寿命

汪子熙

人工智能 AI 总结思考 ChatGPT 2023年

Python 案例实训教学,课程展示及结课存档优化|ModelWhale 版本更新

ModelWhale

人工智能 大数据 canvas 教学实训 模型服务

【EMNLP 2023】基于大语言模型的复杂任务认知推理算法CogTree

阿里云大数据AI技术

DAPP智能合约质押挖矿系统开发丨详情开发

l8l259l3365

苹果电脑虚拟定位:AnyGo中文破解 for mac 修改手机定位就是如此简单

Rose

mac软件下载 AnyGo for Mac AnyGo破解版 虚拟定位工具 AnyGo中文版下载

利用法线贴图渲染逼真的3D老虎模型

3D建模设计

3D渲染 材质贴图 纹理贴图 材质纹理 材质编辑

3D材质编辑:制作被火烧的木头

3D建模设计

3D渲染 材质贴图 纹理贴图 模型渲染 材质编辑

OPPO ColorOS全球创客大赛总决赛在即 加速潘塔纳尔生态成型

极客天地

公司敏感数据被上传Github,吓得我赶紧改提交记录

程序员小富

git

一文速览字节最新分布式操作系统KubeWharf

苏沐

运维 云原生 k8s 分布式操作系统 KubeWharf

现代皮质沙发材质编辑

3D建模设计

3D渲染 纹理处理 模型渲染 材质纹理 材质编辑

Mint Blockchain,一个聚焦在 NFT 领域的 L2 网络

NFT Research

NFT\ NFTScan Layer 2

提升淘宝商品详情搜索效率,看这篇API接口详解

联讯数据

Vue3.0在软件开发中的能力展示

互联网工科生

Vue DOM vue3.0

高效挖掘数据价值,天翼云分析型数据库TeleDB For AnalyticDB申请出战!

极客天地

如何进行代码混淆?方法与常见工具介绍

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