C++ 2024 大会:主要公告与创新

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

C++ 2024 大会:主要公告与创新



2024 年 11 月初,柏林举办了 C++ 领域最大的年度会议之一——CppCon 2024。此次活动汇集了标准化委员会的顶尖开发者、Google、Microsoft 和 JetBrains 的工程师,以及独立爱好者。大会的主题是语言的未来:安全性、性能和标准的演进。我们整理了最重要的公告,这些公告将影响所有使用 C++ 编写代码的人。



C++26 的关键创新

ISO C++ 委员会公布了 C++26 标准的更新计划。其中包含了几项期待已久的功能:

  • std::execution 的标准化 — 一个新的异步操作和并行框架,将取代原始线程并简化并发代码的编写。
  • 模式匹配 (Pattern Matching) — 一项期待已久的功能,允许编写更易读、更安全的代码,取代冗长的 if-else 和 switch 语句。
  • constexpr 的扩展 — 现在可以在编译时计算中使用向量和字符串,为更高效的模板开辟了道路。
  • 改进的协程 — 为高负载应用添加了新的惰性生成器和对栈上下文的支持。


内存安全:新的发展方向

讨论最热烈的话题之一是 Safe C++ 倡议——一个旨在消除内存相关漏洞根本原因的项目。委员会提交了一份语言扩展草案,其中包括:

  • 借用检查器 (borrow checker),类似于 Rust,但保持了向后兼容性。
  • 新代码中强制默认变量初始化(零初始化)。
  • [[unsafe::memory]] 标记,用于显式指示危险操作——这将使静态分析器能够更精确地发现问题。

预计实验性实现将在 2025 年出现在 GCC 15 和 Clang 19 中。



工具链和生态系统:将有哪些变化?

除了标准之外,大会还宣布了重要的工具更新:

  • CMake 4.0 — 完全重新设计的模块系统(C++20 modules)和内置的依赖缓存支持。
  • Clangd LSP — 改进了对 C++26 的重构支持,包括将 switch 自动转换为模式匹配。
  • Qt 7 — 首个公开预览版,支持 Safe C++ 和基于 QML 的零开销新控件。
  • Google Abseil — 发布了用于安全处理原始指针的库 (AbslSafePtr),该库已用于 Chromium。


这对开发者意味着什么?

大会表明,C++ 不仅在系统编程、游戏和高负载服务领域保持其地位,而且在安全性和便利性方面也在积极追赶现代语言。现在就应该开始学习模式匹配和 std::execution 的新功能——这将大大简化代码。而 Safe C++ 倡议在几年后可能会成为金融和航空领域的强制性要求。

完整的演讲录像可在 CppCon 的 YouTube 频道上找到,幻灯片则在委员会的仓库中。请关注 python

推荐库