C++ 会变成像 Rust 一样的安全语言吗?
原文中文,约1900字,阅读约需5分钟。
📝
内容提要
C++专家Herb Sutter建议通过依赖工具、推广安全语言特性以及显式启用不安全特性来提高C++的安全性。Bjarne Stroustrup表示赞同,并提到ISO委员会在C++配置文件方面所做的工作。批评者认为,与Rust相比,C++在内存安全性方面仍然存在不足,例如线程安全。Sutter和Stroustrup认为,配置文件是使C++更安全的关键特性,而不会限制其表达能力。Sutter提供了具体建议,以帮助ISO委员会实现减少C++代码中CVE的目标。
❓
Q&A
C++如何提高安全性?
C++可以通过依赖工具、推广安全语言特性和显式启用不安全特性来提高安全性。
Herb Sutter提到的四种内存安全漏洞是什么?
四种内存安全漏洞包括越界读、越界写、空指针解引用和访问已释放内存。
Bjarne Stroustrup对C++安全性的看法是什么?
Stroustrup认为C++可以像Rust一样安全,但不那么复杂,并支持ISO委员会的安全规则工作。
C++配置文件的作用是什么?
C++配置文件是一组规则,旨在强制执行安全行为,确保代码的类型安全、边界安全和生命周期安全。
C++与Rust在内存安全性方面的比较如何?
批评者认为C++在内存安全性方面仍存在不足,特别是在线程安全等领域,而Rust则提供了更多相关机制。
Sutter对C++安全规则的建议是什么?
Sutter建议C++应严格执行安全规则,默认启用安全规则,只有在程序员明确选择时才允许不安全行为。
🏷️