C++20 最新进展:加入模块化和协程,进入特性冻结阶段

局长
 局长
发布于 2019年02月24日
收藏 31

刚刚结束的 C++ 标准委员会2019春季会议在夏威夷科纳举办,委员会在这次会议中确定了下一个国际标准 C++20 的全部特性,这标志着 C++20 的特性设计工作已完成

按照 C++20 的发布计划,这次会议正是为了冻结 C++20 的特性而举办,进入特性冻结阶段(Feature freeze)意味着所有的功能特性将被冻结,并且不会再加入更多的新特性。

接下来我们看看上周会议确定添加至 C++20 草案的新特性:

协程的加入应该是最大的惊喜了,值得期待!官方还表示,C++20 应该会是一个像 C++11 那样的大版本。

以下的特性已在本次会议或之前的会议上通过了批准,但尚未添加到 C++20 中,因为目前规范仍在编写中。它们有望在2019年7月的科隆会议上被加入,不过由于时间限制,可能无法完成所有工作。

下面的这些特性,早已在之前的会议上通过了批准:

按照计划的发布进度,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/

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:C++20 最新进展:加入模块化和协程,进入特性冻结阶段
加载中

最新评论(47

宇天
宇天
说跟不上节奏的, 能有前端能折腾么?
看吧,这版本号,很快就被nodejs追上了😂😂😂
一码千里
欢迎C++20,基础设施离不开C/C++。
本人用c++14开发过一个流量清洗项目,分布式运行在500多台服务上,服务于各大手游公司,业务高峰时系统表现十分高效稳定,从没出现过内存问题,项目的成功归功于现代C++易用高效。
首席撸肾虚
首席撸肾虚
我刚在看14,跟不上呀
yinhuan99
yinhuan99
再这样下去完全是个新语言了
再生D雄鹰

引用来自“OSC_juihGf”的评论

真的没有必要,很多人都在用老版本。

引用来自“Raphael_goh”的评论

所以你的意思是就让C++一直烂下去得了,不要发展了。比如大部分人都在用Java8要什么Java11。Python2用的好好的,要什么Python3。xp当初卖的好好的,为什么微软非要弄个win7。是这个意思么。

引用来自“瞎折腾”的评论

@Raphael_goh 为了刷存在感或商业利益而已,不要太当真
就这水平还太言不惭什么商业利益,人家委员会的成员只是制定标准,在委员会是没工资拿的。编译器是由各个机构、厂商自己去实现的,说到自由,C、C++反而是最不受厂商商业利益控制的,你有本事也可以去实现一个,比如GCC这种免费的,说到商业利益,可能就是买标准要些钱,标准文档要好几百美金一份,对你来说真的是很多钱了。
开源中国首席罗纳尔多
开源中国首席罗纳尔多
你好,请问c++20这个是否是新增语法糖和类库呢?如果c++拥有java jdk里面丰富的函数、库类,会不会发展的更加美好?
Alex-loongkylin
Alex-loongkylin
改用dlang,这些都具备了
瞎折腾
瞎折腾

引用来自“OSC_juihGf”的评论

真的没有必要,很多人都在用老版本。

引用来自“Raphael_goh”的评论

所以你的意思是就让C++一直烂下去得了,不要发展了。比如大部分人都在用Java8要什么Java11。Python2用的好好的,要什么Python3。xp当初卖的好好的,为什么微软非要弄个win7。是这个意思么。
@Raphael_goh 为了刷存在感或商业利益而已,不要太当真
志田未来
志田未来

引用来自“zjh6”的评论

好的语言,都不会太简单.太简单,就没有前途.像go,有啥前途?
你有的我都有.我有的你却没有.我的工具快如闪电.而你还得重新造轮子.
golang没前途。。。真是无知,多上github看看新出的网络编程库一半都是go,这势头还有睁眼瞎说没前途 呵呵
而且golang还有重量级应用,docker容器现在是go一家独大了。
z
zjh6
好的语言,都不会太简单.太简单,就没有前途.像go,有啥前途?
你有的我都有.我有的你却没有.我的工具快如闪电.而你还得重新造轮子.
来自山卡拉的你
来自山卡拉的你
哈哈,go有没有前途不知道,反正我知道现在是有钱途
返回顶部
顶部