C++20 最新进展:加入模块化和协程,进入特性冻结阶段
刚刚结束的 C++ 标准委员会2019春季会议在夏威夷科纳举办,委员会在这次会议中确定了下一个国际标准 C++20 的全部特性,这标志着 C++20 的特性设计工作已完成。
按照 C++20 的发布计划,这次会议正是为了冻结 C++20 的特性而举办,进入特性冻结阶段(Feature freeze)意味着所有的功能特性将被冻结,并且不会再加入更多的新特性。
接下来我们看看上周会议确定添加至 C++20 草案的新特性:
协程的加入应该是最大的惊喜了,值得期待!官方还表示,C++20 应该会是一个像 C++11 那样的大版本。
以下的特性已在本次会议或之前的会议上通过了批准,但尚未添加到 C++20 中,因为目前规范仍在编写中。它们有望在2019年7月的科隆会议上被加入,不过由于时间限制,可能无法完成所有工作。
-
Allow constexpr allocation, but disallow allocations that are not deleted at compile time
-
Implicit creation of objects for low-level object manipulation
下面的这些特性,早已在之前的会议上通过了批准:
-
A lot more constexpr features: consteval functions, std::is_constant_evaluated, constexpr union, constexpr try and catch, constexpr dynamic_cast and typeid
按照计划的发布进度,C++20 预计将于明年夏季推出。
C++20 发布计划
最后,看看 C++ 主要特性的开发进度。
自上次会议以来的变更:
特性 | 状态 | 依赖 | Current Target (Conservative Estimate) | Current Target (Optimistic Estimate) |
---|---|---|---|---|
Concepts | Concepts TS v1 published and merged into C++20 | C++20 | C++20 | |
Ranges | Ranges TS v1 published and merged into C++20 | Concepts | C++20 | C++20 |
Contracts | Merged into C++20 | C++20 | C++20 | |
Modules | Merged design approved for C++20 | C++20 | C++20 | |
Coroutines | Coroutines TS v1 published and merged into C++20 | C++20 | C++20 | |
Executors | Proposed v1 design approved for C++23 | C++26 | C++23 | |
Networking | Networking TS v1 published | Executors | C++26 | C++23 |
Reflection | Reflection TS v1 published | C++26 | C++23 |
名词解释
- IS = 国际标准。如 C++ 编程语言:C++11, C++14, C++17 等
TS = 技术规范。在该阶段中,特性分支处于可使用状态,但尚未被所有厂商实现。如 Coroutines TS v1, Modules TS v1 等。
CD = 委员会草案,即 IS/TS 的草案,用于给标准机构进行审查和反馈("beta testing")。
据透露,工具研究小组 SG15 决定创建一个 C++ 生态系统技术报告,该报告将描述新模块化 C++ 中工具(构建系统等)的最佳实践和最新技术。
参考:https://www.reddit.com/r/cpp/comments/au0c4x/201902_kona_iso_c_committee_trip_report_c20/
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
PYPL 二月榜单发布:最受欢迎的编程语言、IDE 和数据库都是哪些
PYPL(PopularitY of Programming Language,编程语言流行指数) 二月榜单已发布,目前包含四个排行榜,分别是编程语言、IDE、ODE(Online IDE) 以及数据库这四个。 PYPL 是非常流行的参考指标,其榜单数据的排名均是根据榜单对象在 Google 上相关的搜索频率进行统计排名,原始数据来自 Google Trends,也就是说某项语言或者某款 IDE 在 Google 上搜索频率越高,表示它越受欢迎。所以如果你相信这些来自众多开发者以及用户的选择,我们可以将 PYPL 作为一个参考,以帮助决定学习何种语言或 IDE,或者在新的软件项目中使用何种语言或数据库。 接下来看看 PYPL 最新的二月排行榜。 先看看最容易“引战”的编程语言排行榜 —— 排名前五的分别是:Python,Java,Javascript,C# 和 PHP。从榜单可以看出,与去年的指数结果相比,前五名中除了 Python,其余的 Trend 指数都呈现出了下降趋势。而近年来备受关注和欢迎的Go、Kotlin、Rust、TypeScript这些较为新兴的编程语言基本都保持着上...
- 下一篇
Swift 项目主管和大家聊了聊 Swift 5,ABI 稳定性最受关注
苹果在 2014 年发布了全新编程语言 Swift,到目前为止已经发展到了 Swift 4.0 版本,而 Swift 5 也即将在 WWDC 2019 开发者大会上亮相。到底新版本将会有哪些值得关注的地方?我们可以听一下苹果 Swift 项目主管是怎么说的。 John Sundell 最新一期 Swift by Sundell 播客请来了苹果 Swift 项目主管 Ted Kremenek,后者是苹果语言和运行高级主管,负责监督 Swift 5 的发布。 播客中,Kremenek 被问到了一些有关 Swift 编程语言的话题,包括苹果如何为 Swift 设计新的特性以及如何将创意编程可以发布的功能的整个过程,当然还有主角 Swift 5。 Swift 5 的关注重点是开发者期待已久的 ABI(Application Binary Interfaces,应用二进制接口)稳定性,Kremenek 详细介绍了 ABI 稳定性如何最终实现以及需要对 Swift 进行哪些改进才能使其变得 ABI 稳定。 有了 Swift 5,使用某一版本的 Swift 编译器创建的 app 将能够与使用其他版本...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8编译安装MySQL8.0.19