C++ 大会:主要发布——2025年开发者将迎来什么
在一年一度的国际 C++ 大会上,汇聚了标准的主要开发者、大型 IT 公司的工程师以及编译器创建者,会上公布了将决定该语言未来几年发展的关键发布。主要关注点集中在 C++26 标准、用于提高代码性能和安全性新工具,以及生态系统的重要变化上。
大会的关键发布
- C++26:最终草案和关键特性。 已确认将纳入标准的内容包括:静态反射(compile-time reflection)、改进的协程(std::generator)、新的错误处理机制(std::expected)以及对契约的扩展支持。预计标准草案将在 2025 年底冻结。
- 社区新编译器。 宣布了 Carbonite 项目——一个实验性的开源 C++ 编译器,专注于闪电般的编译速度和改进的错误诊断。首个 alpha 版本预计在今年年底发布。
- 内存安全:内置配置文件。 提出了一种应对漏洞的新方法——安全配置文件(Safety Profiles),这些配置文件将被内置到编译器中。它们将允许静态检查典型错误(缓冲区溢出、use-after-free),而无需重写现有代码。
- 性能分析工具。 展示了新版本的 Boost.Perf 库,其中集成了性能分析器和自动基准测试。还宣布了与 Google Benchmark 框架在 CI/CD 流水线中的集成。
- 模块与构建加速。 对模块(C++20)的支持进行了重大更改——现在它们在 GCC 和 Clang 中已完全稳定。演讲者展示了大型项目从头文件切换到模块后,构建速度提升了 3 到 5 倍。
- 生态系统:新包管理器。 宣布了 CPM(C++ 包管理器) 项目——一个轻量级的 vcpkg 和 Conan 替代方案,可直接集成到 CMake 中。支持来自 GitHub 的缓存和版本控制。
这对开发者意味着什么
对于实践中的 C++ 开发者来说,从这些发布中得出的主要结论如下:
- 现在就应该开始学习 std::expected 和 std::generator——它们将成为错误处理和异步流的事实标准。
- 安全配置文件将有助于编写更可靠的代码,而不会损失性能——这对于嵌入式领域和金融领域尤其重要。
- 转向模块对于大型项目来说已经不是一个选项,而是一种必要。建议对现有代码进行审计,以检查其与模块系统的兼容性。
- 新的包管理器 CPM 将简化依赖关系管理,特别是对于小型开源项目。
大会证实:C++ 仍然是一种充满活力且不断发展的语言,它不惧怕借鉴其他语言的最佳实践,同时保持其关键特性——对性能和内存的最大控制。
请关注 pythonlib.ru 上的新闻——我们将为每项提到的技术发布详细文章,并附上代码示例和