9 月 20 日消息,科技媒体 infoworld 于 9 月 17 日发布博文,报道称 C++ 社区上周公布了堪称“革命性”的 Safe C++ 扩展提案,旨在为 C++ 开发者提供维护内存安全的必要数据结构和算法实现,以及预防常见内存相关错误的功能。
C++ 联盟简介
注:该联盟致力于让 C++ 语言更易用、实用的慈善组织,正通过其“Safe C++ Extensions”提案,努力为 C++ 添加内存安全特性,减少开发者和外界对 C++ 内存安全的担忧。
联盟计划向 ISO 提交“Safe C++ Extensions”提案,以纳入 C++ 标准。
“Safe C++ Extensions”提案
C++ 联盟和工程师 Sean Baxter 合作,将该提案描述为一项“革命性”提案。
联盟主席兼董事 Vinnie Falco 在 9 月 12 日的博客文章中写道:
此次合作标志着 C++ 生态系统中的一个重要里程碑,因为对安全代码的需求从未如此迫切。
随着软件安全性和可靠性的日益重要,开发者面临着越来越大的压力,需要采用更安全的编码实践。
Safe C++ 扩展旨在通过引入防止常见内存相关错误的新特性,来应对这一关键需求。
Falco 表示该计划的关键组成部分是 Safe Standard Library,它将为开发者提供基本数据结构和算法的内存安全实现。
提案的目标是推进一个 C++ 的超集,其中包含一个“严格安全的子集”。在此安全上下文中,C++ 代码将展现出与 Rust 编写的代码相同的安全保障。
在提案的引言中,C++ 联盟承认了该语言存在的问题:
大量关键基础设施依赖于用 C 和 C++ 编写的软件,这两种语言内存安全性极低,使得这些系统更易受到敌对势力的利用。
Safe C++ 开发者将被禁止编写可能导致未定义行为、危及生命周期安全、类型安全或线程安全的操作。