
“距离 C++ 的首次构想已经过去 45 年多了,”74 岁的 C++ 创建者 Bjarne Stroustrup 在本周为 ACM Communications 撰写的一篇文章中写道。但他在一篇题为 21 世纪 C++ 的文章中抱怨说,许多开发人员“使用 C++ 的方式就好像它仍然是上个世纪一样”,该文章承诺“可以构建高性能、类型安全和灵活的 C++ 软件的关键概念:资源管理、生命周期管理、错误处理、模块化和通用编程……”最后,我提出了确保代码是现代的方法,而不是依赖于过时的、不安全的和难以维护的技术:指南和为了帮助开发人员专注于当代 C++ 的有效使用并避免过时的语言“黑暗角落”,我们制定了一系列指南。在这里,我重点关注我认为最雄心勃勃的 C++ 核心指南…我的主要目标是类型安全和资源安全地使用 ISO 标准 C++。即: – 每个对象都根据其定义专门使用 – 没有资源泄漏 这涵盖了人们所说的内存安全等等。这不是 C++ 的新目标。显然,它不能C++ 的每次使用都可以实现这一目标,但到目前为止,我们拥有多年的经验表明,现代代码可以实现这一目标,尽管到目前为止执行还不完整……在考虑 C++ 时,重要的是要记住,C++ 不仅仅是一种语言,而且是由实现、库、工具、教学等组成的生态系统的一部分。 WG21(和其他人)正在研究“配置文件”以执行指南(尽管它们“尚未可用,除了实验版本和部分版本”)。但 Stroustrup 写道,C++ 核心指南“使用了一种称为超集子集的策略”。第一:使用一些库抽象扩展语言:使用部分标准库并添加一个小型库,以便方便高效地使用指南(指南支持库,GSL)。下一篇:子集:禁止使用低级、低效、易错的功能。我们得到的是“C++ on steroids”:简单、安全、灵活、快速;而不是贫困子集或依赖于大量运行时检查的东西。我们也不会创建一种具有新颖和/或不兼容功能的语言。结果是 100% ISO 标准 C++。混乱、危险、低级的功能仍然可以在需要时启用和使用。 Stroustrup 写道,C++ 核心指南重点关注“我们希望每个人最终都能从中受益”的规则。没有未初始化的变量 没有范围或 nullptr 违规 没有资源泄漏 没有悬空指针 没有类型违规 没有失效 Bjarne Stroustrup 在 2014 年回答了 Slashdot 读者的问题…
在 Slashdot 上阅读这个故事的更多内容。