C++ 26 已初具规模
ISO C++ 委员会于近日举行会议正式通过了 C++ 26 的时间表,共有近 180 名成员参会。ISO C++ 标准委员会主席兼微软本地语言架构师 Herb Sutter 发文详细介绍了有关 C++ 26 的最新进展。他透露,并发和并行小组仍在按计划推进 C++26 的 std::execution 和 SIMD 并行,因此该版本将在“并发和并行性方面有重大发布”。
C++ 版本以发布年份命名,并遵循三年开发周期;其中包括在推出和发布标准版本前一年的"feature freeze(功能冻结期)",例如 C++23 的功能冻结是在 2022 年初。C++ 26 的时间表与 C++23 时间表节奏一致。
委员会在会议上共采纳了首批拟议的 40 份“change papers (变更文件)”。其中,有 2 份是"将决议应用于所有的 Ready issues"的文件,应用了一堆微小的修改。还有 38 个是单独的变化,内容涵盖错误修复到新功能:如风险指针 (hazard pointers) 和 RCU。
Sutter 称,目前为止所提出的一些新功能都比较 low key。已采用的 Core language changes/features 有 11 项,包括:
- 正式增加了对 C++26 中
_
通配符的支持
std::lock_guard _(mutex);
auto [x, y, _] = f();
inspect(foo) { _ => bar; };
- 标准属性的三个可忽略性规则
- [已在 C++23 中] Rule 1. 标准属性必须是可解析的(即,不能只包含随机的废话)。
- [已在 C++23 中] Rule 2. 删除标准属性不能改变程序的含义:它可以减少程序可能的 legal behaviors,但不能发明 new behaviors。
- [新] Rule 3. Feature test macros 不应假装支持某个属性,除非实现实际上实现了该属性的可选语义(即,不只是解析它然后忽略它)。
- 将
@
、%
和`
添加到基本字符集中。 - 消除了一种可能性,即仅仅对 C++ 代码进行标记就可以成为 C++ 编译器本身的未定义行为的来源。
- 向强大的编译时库又迈进了一步,包括使
std::format
有可能支持constexpr
编译时字符串格式化。 - 提案“User-generated static_assert messages”允许编译时
static_assert
接受不是 string literals 的 stringlike messages。例如,流行的 {fmt} 库支持constexpr
字符串格式化,因此这段代码可以在 C++26 中运行:
static_assert(sizeof(S) == 1, fmt::format("Unexpected sizeof: expected 1, got {}", sizeof(S)));
此外,标准库更改/功能也有 28 项采用。其中 P2530"Hazard pointers for C++26"增加了并发 TS2 风险指针功能,以在 C++26 中增加基于风险指针的延迟清理。P2545"Read-Copy-Update (RCU)"则是 C++26 中进行延迟清理的另一种补充方法。
接下来的两次会议将于 11 月在美国夏威夷州科纳举行,由 WorldQuant 和 Standard C++ Foundation 主办;以及次年 3 月在日本东京举行,由 Woven by Toyota 主办。
更多详情可查看此处。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Linux 引入F2FS 异步缓冲写入支持
Flash Friendly File-System (F2FS) 对于闪存设备,尤其是固态硬盘和移动硬盘来说,依然是强大的文件系统选项。 从 Linux 内核的 F2FS 开发树来看,F2FS 即将引入异步缓冲写入功能,作为此闪存优化文件系统的另一项性能提升。来自 Vivo 的 Yangtao Li 上周已将最新补丁提交至在 F2FS 的“开发”分支中,以启用 F2FS nowait 异步缓冲写入功能。 只需更改几行代码,即可在缓冲写入条件下使用 FIO 进行测试时产生一些非常好的加速。 I/O 深度为 1 时,性能提高了大约 47%,而 I/O 深度为 16 时,它扩展到当前性能的 2.54 倍。 对 F2FS 开发感兴趣的人可以在这个补丁中查看详细信息,此功能可能会在即将到来的 Linux 6.5 合并窗口中提交。
- 下一篇
Visual Studio 支持直接创建 PR
微软官方宣布,Visual Studio 已支持直接创建 PR。 Visual Studio 工程团队通过博客宣布了这项“新”功能:在 Visual Studio 中创建 PR (Pull Request)。其实较旧版本的 Visual Studio 原本就支持创建 PR,但后面由于 Git UI 调整,微软砍掉了这项功能。现在终于加回来了。想试用的开发者,安装 VS 17.7 Preview 2 即可尝鲜。 团队表示,用户反馈称他们可以在 Visual Studio 中完成 90% 的开发工作流程,但需要依赖网页来创建 Pull Request。Visual Studio 作为致力于带来生产力增强功能的工具,在 17.7 Preview 2 发布后,开发者现在可以在不离开 Visual Studio 的情况下直接创建 Pull Request。 当然目前的使用体验较为粗糙,团队介绍了接下来的工作: 允许用户添加 reviewer 和指定的 reviewer description box 支持 Markdown 在 Visual Studio 中查看和跟踪 PR 详情查看公告。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Windows10,CentOS7,CentOS8安装Nodejs环境
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2全家桶,快速入门学习开发网站教程