划重点
01ISO C++委员会主席Herb Sutter近日宣布离开微软,成为金融公司Citadel Securities的技术研究员。
02Sutter将继续担任ISO C++标准委员会主席以及标准C++基金会主席,推动C++的未来发展。
03他预计在2024年,C++将迎来自C++11以来最具影响力的版本——C++ 26。
04C++ 26将带来四个关键特性:改进std::execution以提升并发性和并行性,内存安全性改进,反射和代码生成功能。
05除此之外,C++26还将重点关注安全性提升,通过引入更多安全性更高的组件、移除未定义行为等方式,降低开发中的安全风险。
以上内容由腾讯混元大模型生成,仅供参考
近日,ISO C++ 委员会主席 Herb Sutter 在其个人博客宣布,他已经离开了工作 22 年的微软,正式成为金融公司 Citadel Securities 的一名技术研究员。他在 C++ 标准委员会和社区的职责保持不变,继续担任 ISO C++ 标准委员会主席以及标准 C++ 基金会主席的职务,持续推动 C++ 的未来发展。
博客截图
他表示:在 Visual C++ 编译器团队工作的 22 年是一段非常精彩的经历,和一流的成员共事,即使面临挑战也非常有吸引力。作为一个负责基础技术(比如 C++ 主流编译器)的团队成员,他说有一个鲜为人知的好处就是无需频繁跳槽就能接触到有趣的项目。因为很多创新项目都需要得到编译器的支持,这样就会自然而然的跟他们联系上。所以,他才能在该岗位上坚守了比任何其他工作更长的时间。
“2024 年是 C++ 的关键之年”,Herb Sutter 在博客中提到。在 9 月份的 CppCon 大会上,他提到了未来十年的 C++ 发展方向,即围绕反射和安全性改进展开。
改进 std::execution(异步操作的标准库),以提高并发性和并行性,对 std::execution 标准库进行增强,以更好地支持并发操作和并行计算 类型和内存安全性改进,旨在与其他现代、更安全的语言相媲美,博客中还提到针对安全性改进的一些提案,比如 C++26 中未初始化的局部变量将不再是未定义行为(UB)。这意味着 C++ 在解决安全性相关的 UB 方面迈出了重要的第一步,也让开发者可以享受前所未有的简单迁移路径:仅需用 C++26 编译器重新编译代码,无需任何手动修改,代码就会更安全,并减少 UB。” 反射和代码生成功能,Sutter 形容它们是编译时编程革命的一部分,并称其为“可能是有史以来最具影响力的特性”。 契约,指定接口以便检查其一致性,包括先决条件、后置条件和有效状态的断言。
当下围绕 C++ 讨论最多的莫过于安全性,这也是 C++ 一直以来的挑战。有不少专家建议转向 Rust,但 Sutter 表示:C++ 的“安全性提升”并不意味着要达到完美,而是聚焦于解决“优先级高的易改进问题”。具体措施包括:
在标准库中引入更多安全性更高的组件; 移除与安全性相关的未定义行为; 引入新的编译时静态安全规则; 增强动态运行时的安全检查。
正如 Bjarne Stroustrup 所言,C++11 通过引入 auto 类型推导、lambda 表达式、标准化安全智能指针、range-for 循环、移动语义和 constexpr 编译时代码等特性,让人感觉像是一门全新的语言。它重新定义了 C++ 的编程体验,使语言更加简洁、高效,并奠定了“现代 C++”的基础。随后,C++14/17/20/23 在过去十年间不断扩展和完善这些特性,推动了语言的持续进化。尤其是 C++11 的移动语义,为开发者提供了极为理想的迁移路径:“只需使用 C++11 编译器重新编译现有代码,无需任何手动修改,程序性能就能显著提升。” 自 2011 年以来,“现代 C++” 几乎等同于 “C++11 及之后的版本”,标志着 C++ 使用方式和体验的深刻变革。
参考链接:
https://herbsutter.com/2024/11/
https://devclass.com/2024/11/12/iso-c-chair-herb-sutter-leaves-microsoft-declares-forthcoming-c-26-most-impactful-release-since-c11/