C++编程规范与实践:继承、指针与异常处理

需积分: 43 257 下载量 87 浏览量 更新于2024-08-10 收藏 2.48MB PDF 举报
"新一代工业智能-More Effective C++ 高清 目录" 本文档摘自《More Effective C++》,由 Scott Meyers 编著,侯捷翻译,详细介绍了C++编程中的最佳实践和常见陷阱。内容包括基础议题、运算符、异常处理和效率提升等主题,旨在帮助开发者编写更高效、更安全的C++代码。 2.2 惯例与术语部分,作者明确了关于继承(inheritance)的讨论主要涉及public继承,并指出在绘制继承体系图时,箭头通常是从派生类(derived classes)指向基类(base classes)。抽象类别(abstract classes)用阴影表示,具象类别(concrete classes)则不加阴影。此外,文档讨论了静态类型(static type)和动态类型(dynamic type)的概念,这是C++中多态性的一个关键方面。例如,指针或引用的静态类型是声明时的类型,动态类型由它们实际指向的对象决定。 关于命名约定,作者推荐使用像pgo(pointer-to-GameObject)、pa(pointer-to-Asteroid)和rgo(reference-to-GameObject)这样的方式来命名指针和引用,以反映它们的实际用途。同时,他引入了常见的缩写,如lhs(左操作数)和rhs(右操作数)用于函数参数,以及ctor(构造函数)、dtor(析构函数)和RTTI(运行时类型识别)。 在后续的基础议题部分,涵盖了一些C++的核心概念,例如指针和引用的区别,类型转换的最佳实践,避免对数组使用多态,以及何时不应当创建默认构造函数。在运算符章节,讲解了如何谨慎定义类型转换函数,自增和自减操作符的前缀和后缀形式的区别,以及不应重载特定的运算符。异常处理部分强调了析构函数在防止资源泄漏中的作用,以及在构造函数中处理异常的策略。效率章节则涵盖了程序优化的原则,如80-20准则、懒惰求值、返回值优化等。 这份摘要提供了丰富的C++编程知识,涵盖了从基本概念到高级技术的多个层面,对于提升C++程序员的技能水平有着重要的指导价值。