文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
11.1 C++ 模型
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++ 提供了一种不同的、对许多应用领域来说更好的软件模式。我所说的 更好
是指更容易编写、更有可能正确、更可维护、使用更少的内存、耗能更低和更快。
这些贡献的领域是互帮互助的,举例来说:
- 引用语义(例如,指针和智能指针)支持使用值语义(例如,
jthread
和vector
)高效地实现高级类型。 - 对内置类型和用户定义类型的统一规则,简化了泛型编程(内置类型不是特殊情况)。
- 编译期编程使得一系列的抽象技术因为能够有效使用硬件而变得负担得起。
- RAII 允许使用用户定义的类型,而无需采取特定的操作来支持其实现对资源(包括非内存资源)的使用。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论