返回介绍

11.1 C++ 模型

发布于 2024-08-19 12:44:36 字数 832 浏览 0 评论 0 收藏 0

C++ 为高要求的应用而生,并成长为一种重要的编程语言——在某些领域,它甚至是主导语言。这是在没有认真的商业支持和没有营销的情况下达到的。许多现代语言拷贝了它的特性和理念。关键的语言技术贡献有:

  • 静态类型系统,对内置类型和用户定义类型具有同等支持(§2.1)
  • 既有值语义,又有引用语义(§4.2.3)
  • 系统和通用资源管理(RAII)(§2.2)
  • 支持高效的面向对象编程(§2.1)
  • 支持灵活的和高效的泛型编程(§10.5.1)
  • 支持编译期编程(§4.2.7)
  • 直接使用机器和操作系统资源(§1)
  • 通过库提供并发支持(往往使用内建函数实现)(§4.1)(§9.4)

相较于目前占主导地位的依靠垃圾收集器和广泛运行期支持的托管模式——典型的如 Java、C#、Python 和 JavaScript(§2.3)等语言——C++ 提供了一种不同的、对许多应用领域来说更好的软件模式。我所说的 更好是指更容易编写、更有可能正确、更可维护、使用更少的内存、耗能更低和更快。

这些贡献的领域是互帮互助的,举例来说:

  • 引用语义(例如,指针和智能指针)支持使用值语义(例如,jthreadvector)高效地实现高级类型。
  • 对内置类型和用户定义类型的统一规则,简化了泛型编程(内置类型不是特殊情况)。
  • 编译期编程使得一系列的抽象技术因为能够有效使用硬件而变得负担得起。
  • RAII 允许使用用户定义的类型,而无需采取特定的操作来支持其实现对资源(包括非内存资源)的使用。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文