What New Features Will C++26 Bring? Contracts, Reflection, and More
Herb Sutter’s latest report reveals that the upcoming C++26 standard will introduce major enhancements such as contracts, static reflection, BLAS‑based linear algebra, debugging APIs, and SIMD parallelism, while also addressing safety concerns and exploring experimental projects like Cppfront and Google’s Carbon to simplify and modernize C++.
21CTO导读:即将到来的C++26将发布与增加新的技术特性。
ISO/IEC C++ 技术委员会召集人 Herb Sutter 发布报告称,C++ 26 将具有包括“契约”与“反射”在内的新功能。
C++委员会已经举行了多次会议,将确定即将出台的标准的内容,目标是在流程的早期批准语言最重大的新功能。
各位知道,C++ 每三年更新一次。
虽然 C++ 23 仍处于“最终投票结束”状态,但 C++ 26 的设计工作正在顺利进行着。
首先说“合约(也称契约)”这一特性。
契约是一种实现按契约设计的语言特性,其中约定了定义类方法调用的前提条件、结果的后置条件以及类成员的有效状态。
契约这种方法最早由 Bertrand Meyer 在八十年代中期的 Eiffel 语言中采用,从那时开始影响了其它编程语言。
ISO/IEC C++ 技术委员会已经批准了一篇定义合约语法的论文。
Sutter 在报告中还补充说,“还有一些语言设计问题需要决策,特别是隐式 lambda 捕获、consteval 和多重声明的语义。”
“反射”是进程在运行时内省自己类型和行为的能力。
C# 和 Java 等语言均已经支持反射,但 C++ 不支持。Sutter 等委员会成员上周一致通过了向 C++ 26 添加静态反射的提案。
作为“静态反射的核心,它足以解决许多重要问题,同时让我们还计划在 C++ 26 之后继续进一步构建它,我们迫切需要在 C++ 中进行‘反省’。”
新版本 C++ 其他有进展的功能还包括:
基于 C++ 标准库中的基本线性代数子程序 (BLAS) 的密集线性代数;
用于调试支持的标准 API,例如 std:breakpoint();
SIMD(单指令、多数据)并行性。
以及由 C++ 发明者 Bjarne Stroustrup 提出的“C++ 的安全建议”。
大家知道,C++ 在编程语言中占据着不同寻常的地位,被行业广泛使用,但也经常因其不安全、过于复杂和缺乏现代功能而受到一些批评。
Sutter 本人发起并创建了一个名为“Cppfront ”的实验项目,其目标是“探索是否有一种方法可以让 C++ 本身变得更加简单、安全和工具化 10 倍”。
巨头 Google 赞助了另一项名为“Carbon”的实验,和 Sutter 的目标有些相像,其关键问题是如何在改进 C++ 的同时,保持与现有代码的兼容性。
在即将发布的 C++ 26 中,反射和契约等特性发布后,应该会受到 C++ 社区的欢迎。但是它们出现后也突显了该语言再度增加了复杂度,在先进性方面仍落后于其他编程语言。
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
21CTO
21CTO (21CTO.com) offers developers community, training, and services, making it your go‑to learning and service platform.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
