查看原文
其他

C++20 标准草案全票批准通过,越来越臃肿?

局长 OSC开源社区 2020-09-11

喜欢就关注我们吧!

9月4日,C++20 的国际标准草案(DIS, Draft International Standard)投票结束,最终获全票批准通过。

这意味着 C++20 已获得了最终的技术批准,并完成了 ISO 的投票,预计在完成最后一轮 ISO 的编辑工作后,C++20 将在2020年底正式发布。

与上个版本 C++17 相比,C++20 是一次重大的更新,引入了许多新特性:

  • 模块 (Modules)
  • 协程 (Coroutines)
  • 范围 (Ranges)
  • 概念与约束 (Constraints and concepts)
  • 指定初始化 (designated initializers)
  • 操作符 <=> != ==
  • constexpr支持:newdeletedynamic_casttrycatch、虚拟
  • constexpr 向量和字符串
  • 计时:日历、时区支持
  • std::format
  • std::span
  • std::jthread
详细变化查看 cppreference.comopen-std.org 和 Wikipedia像 Concepts/Ranges/Modules/Coroutines 这些新特性将会对开发者及 C++ 生态产生不小的影响,也为这门“高龄”编程语言增添不少魅力。工具方面,GCC 10 编译器对 C++20 标准已基本支持,在更早的 GCC 8/9 中,目前尚待完成的是对 modules 的支持。GCC Wiki 页面概述了目前正在进行的工作。此外,Clang C++ 状态报告页面显示已完成了对大部分特性的支持,待完成的包括 concepts, immediate functions, modules 和其他功能。ISO C++标准委员会主席 Herb Sutter 还介绍了 C++23 的相关会议和进度表,从11月开始将开始召开虚拟会议,以正式批准对 C++23 工作文件的更改,包括潜在的新功能。C++23 进度表和优先级安排
  • C++23 schedule (P1000R4) 
  • C++23 priorities (P0592R4)
(由于公众号限制外链,上方2个文件可在公众号对话框回复:0908,即可查看 C++23 进度表和优先级安排)
最后,年度最大的 C++ 会议 CppCon 2020 即将以线上举办的形式开始。



▼ 往期精彩回顾 



Linux Mint 创始人:不会发布 GNOME/KDE 桌面环境,已与 StarLabs 接触法律要求,伊朗开源项目维护者拒绝合并以色列开发者的 PR年薪 50000 美元,D 语言基金会招聘开源社区工作人员音频慎入!枕边女友每天读论文哄我睡觉Linux 内核对 Rust 的支持有新进展,双方进行深入探讨


                     

觉得不错,请点个在看

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存