《高质量C/C++编程》是由林锐博士编写的,旨在帮助程序员提高代码质量和遵循良好的编程实践。这本书涵盖了从基础的程序格式到高级的C++特性,包括命名规则、表达式和基本语句、常量、函数设计、内存管理、C++函数的高级特性、类的构造函数、析构函数与赋值函数、类的继承与组合,以及一些其他的编程经验。以下是对这些主题的详细阐述:
1. **文件结构**:文件结构的规范对于代码的可读性和维护性至关重要。书中讨论了版权和版本声明、头文件的结构、定义文件的组织方式、头文件的作用以及项目整体的目录结构。
2. **程序的版式**:这部分强调了代码的视觉一致性,包括如何使用空行、代码行的长度限制、空格的使用、对齐原则、长行的拆分、修饰符的位置、注释的编写以及类的布局。
3. **命名规则**:命名规则是代码可读性的关键。书中提出了通用规则,并针对Windows和UNIX应用程序给出了特定的命名建议。
4. **表达式和基本语句**:这部分深入讲解了运算符优先级、复合表达式、IF语句、循环语句的效率优化、FOR循环中的控制变量、SWITCH语句的使用,以及GOTO语句的避免。
5. **常量**:书中探讨了常量的必要性,对比了CONST和#define的使用,明确了常量定义的规则,以及在类中定义常量的方法。
6. **函数设计**:这一章涵盖了参数的选取、返回值的设计、函数内部实现的指导原则,以及使用断言的重要性。同时,还比较了引用和指针的使用场景。
7. **内存管理**:内存分配和释放是C++编程中的常见问题。书中分析了不同的内存分配方式,如malloc/free和new/delete,以及如何避免内存错误、处理动态内存、防止野指针,和理解内存自动释放的情况。
8. **C++函数的高级特性**:函数重载、成员函数的重载、覆盖与隐藏、参数缺省值、运算符重载和函数内联是C++的特色功能。书中详细解释了这些高级特性及其应用。
9. **构造函数、析构函数与赋值函数**:这部分详细介绍了构造函数和析构函数的用途,包括初始化列表、构造顺序、类的示例,以及拷贝构造函数和赋值函数的重要性和实现。
10. **类的继承与组合**:继承和组合是面向对象编程的核心概念。书中讨论了它们的使用和设计策略。
11. **其他编程经验**:这部分提供了一些关于使用CONST提升函数健壮性、提高程序效率的建议,以及对程序员行为的一些反思。
通过这本书,程序员不仅可以学习到C/C++的编程技巧,还能了解到软件质量的重要性,以及如何将高质量的编程习惯融入日常工作中。无论是新手还是有经验的开发者,都可以从林锐博士的经验和建议中受益。