《高质量C.编程指南》.林锐著
### 《高质量C++/C编程指南》知识点总结 #### 一、文件结构与文档管理 - **版权和版本声明**:确保每份文件都包含了明确的版权信息和版本号,便于追踪修改历史和版权归属。 - **头文件结构**:规范了头文件的组织形式,包括必要的预处理器指令、宏定义、类型定义等,确保头文件的可读性和可维护性。 - **定义文件结构**:详细说明了定义文件(通常包含变量、常量、类型等定义)的格式,以便于管理和查找。 - **头文件作用**:阐述了头文件在项目中的重要性,如接口定义、依赖管理等。 - **目录结构**:介绍了项目中文件夹和文件的组织结构,有助于开发者快速定位所需资源。 #### 二、程序版式 - **空行**:规定了何时插入空行以增强代码的可读性。 - **代码行**:明确了代码行的最大长度,以及如何合理布局代码。 - **代码行内空格**:指导如何在关键字、操作符等之间插入空格,提升代码清晰度。 - **对齐**:提出了对齐策略,使代码更整洁、易于阅读。 - **长行拆分**:教授了如何优雅地拆分过长的行,保持代码美观的同时不牺牲可读性。 - **修饰符位置**:规定了访问修饰符、类型修饰符等应放置的位置。 - **注释**:强调了注释的重要性,并给出了撰写有效注释的建议。 - **类的版式**:为类定义提供了一套标准化的模板,确保类结构的一致性和清晰度。 #### 三、命名规则 - **共性规则**:提出了一般性的命名原则,如避免使用保留字、采用有意义的名称等。 - **简单应用程序命名规则**:针对不同操作系统下的简单应用程序提供了具体的命名建议。 - **类名、变量名、函数名等具体命名规范**:通过实例说明了如何根据上下文选择合适的命名方式。 #### 四、表达式和基本语句 - **运算符优先级**:解释了C/C++语言中各种运算符的优先级顺序。 - **复合表达式**:探讨了如何正确构建复合表达式,避免潜在错误。 - **条件语句(IF)**:分析了IF语句的用法及注意事项,包括嵌套IF语句的处理技巧。 - **循环语句效率**:讨论了不同循环结构的性能差异,帮助优化程序执行速度。 - **FOR循环控制变量**:给出了FOR循环中如何管理循环变量的具体指导。 - **SWITCH语句**:讲解了SWITCH语句的特点及其适用场景。 - **GOTO语句**:虽然不推荐使用GOTO语句,但本书仍对其使用场景进行了讨论。 #### 五、常量 - **常量需求分析**:解释了为何需要定义常量,以及它们如何提高代码质量和维护性。 - **CONST与#DEFINE的区别**:详细比较了这两种定义常量的方法,并建议使用CONST。 - **常量定义规则**:给出了定义常量时需遵循的标准,如使用全大写字母等。 #### 六、函数设计 - **参数规则**:介绍了函数参数的设计原则,如参数数量限制、类型选择等。 - **返回值规则**:指导如何选择合适的返回类型,并提供错误处理机制。 - **函数内部实现规则**:提供了编写高效且易于理解的函数体的建议。 - **断言使用**:介绍了断言的基本概念及其在调试过程中的应用。 - **引用与指针的比较**:分析了引用和指针的异同,帮助选择合适的数据类型。 #### 七、内存管理 - **内存分配方式**:概述了静态和动态内存分配的区别,以及各自的适用场合。 - **常见内存错误及其对策**:列举了内存泄漏、越界访问等问题,并提供了预防措施。 - **指针与数组的对比**:讨论了指针和数组之间的关系及其使用场景。 - **动态内存释放**:解释了FREE和DELETE的用途,以及如何安全地释放内存。 - **避免野指针**:讲述了什么是野指针,以及如何避免野指针导致的问题。 - **NEW/DELETE与MALLOC/FREE的选择**:分析了两种内存分配方法的特点,指导选择最适合项目需求的方法。 - **内存耗尽应对策略**:提出了当内存资源不足时可以采取的一些措施。 - **MALLOC/FREE使用要点**:列出了使用MALLOC/FREE时应注意的关键点。 - **NEW/DELETE使用要点**:给出了使用NEW/DELETE时的最佳实践。 - **内存管理心得**:分享了作者在内存管理方面积累的经验和教训。 #### 八、C++函数的高级特性 - **函数重载**:介绍了函数重载的概念及其在C++中的应用。 - **成员函数重载、覆盖与隐藏**:解释了这些概念的区别,并提供了实例说明。 - **参数缺省值**:说明了如何在函数声明中为参数指定缺省值。 - **运算符重载**:探讨了运算符重载的意义和应用场景。 - **函数内联**:讲解了内联函数的优点及其潜在问题。 #### 九、类的构造函数、析构函数与赋值函数 - **构造函数与析构函数起源**:回顾了这些函数的发展历程。 - **构造函数初始化列表**:说明了如何利用初始化列表来高效地初始化对象。 - **构造和析构次序**:解释了构造函数和析构函数调用的次序,及其对程序的影响。 - **类STRING构造函数与析构函数示例**:通过STRING类的具体实现,展示了构造函数和析构函数的应用。 - **拷贝构造函数与赋值函数的重要性**:强调了正确实现拷贝构造函数和赋值函数的重要性。 - **拷贝构造函数与赋值函数实现示例**:以STRING类为例,说明了如何实现这两个函数。 - **简化拷贝构造函数与赋值函数的方法**:提供了一些简化实现的技巧。 - **派生类中实现基类函数**:讲解了如何在派生类中适当地覆盖或实现基类的构造函数、析构函数和赋值函数。 - **构造函数、析构函数与赋值函数的心得**:总结了作者关于这些函数使用的经验和教训。 #### 十、类的继承与组合 - **继承**:介绍了继承的基本概念及其在面向对象编程中的作用。 - **组合**:对比了继承与组合的优缺点,并提供了使用组合的案例。 #### 十一、其他编程经验 - **使用CONST提高函数健壮性**:说明了CONST关键字的作用及其如何增强代码的安全性。 - **提高程序效率**:分享了一些优化程序执行效率的方法和技巧。 - **有益的建议**:总结了作者多年编程经验中的一些实用建议。 通过以上总结可以看出,《高质量C++/C编程指南》涵盖了从基础到高级的多个层面,不仅提供了具体的编码规则和技术指导,还深入探讨了软件开发中的一些哲学问题,是一本值得所有C/C++开发者深入学习的经典著作。
- 粉丝: 55
- 资源: 32
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助