### 高质量C/C++编程指南 #### 一、引言与背景 《高质量C/C++编程指南》是一本旨在帮助C/C++程序员提升代码质量和编程习惯的专业书籍。该书由林锐博士撰写,首次发布于2001年7月24日,并在同年完成了第一次修订。该书不仅关注技术细节,还强调了程序员应有的职业态度。 #### 二、内容概述 本书主要分为十一个章节和三个附录,内容涵盖了从基础到高级的C/C++编程技巧和最佳实践。 ##### 第1章 文件结构 - **版权和版本声明**:明确了文档的所有权以及版本信息。 - **头文件结构**:介绍头文件的标准结构,包括必要的注释和宏定义。 - **定义文件结构**:规范源代码文件的组织形式。 - **头文件作用**:阐述头文件在项目中的重要性和用途。 - **目录结构**:推荐合理的项目文件夹和文件布局方案。 ##### 第2章 程序的版式 - **空行**:规定代码中合理使用空行以增强可读性。 - **代码行**:建议每行代码的长度和格式。 - **代码行内的空格**:规定操作符前后空格的使用。 - **对齐**:指导如何通过对齐提高代码美观度。 - **长行拆分**:解释如何拆分过长的代码行以保持清晰。 - **修饰符的位置**:规范关键字和修饰符的位置。 - **注释**:强调注释的重要性并提供注释的最佳实践。 - **类的版式**:详细介绍类的布局结构。 ##### 第3章 命名规则 - **共性规则**:提出适用于所有变量、函数等的通用命名原则。 - **简单的WINDOWS应用程序命名规则**:为Windows平台的应用程序提供特定的命名指南。 - **简单的UNIX应用程序命名规则**:为Unix平台的应用程序提供特定的命名指南。 ##### 第4章 表达式和基本语句 - **运算符的优先级**:解释不同运算符之间的优先级顺序。 - **复合表达式**:指导如何正确构建复杂的表达式。 - **IF语句**:讨论IF条件语句的使用方法。 - **循环语句的效率**:分析循环语句对性能的影响。 - **FOR语句的循环控制变量**:介绍循环变量的选择和使用。 - **SWITCH语句**:讲解SWITCH语句的用法。 - **GOTO语句**:探讨GOTO语句的使用场景及其潜在问题。 ##### 第5章 常量 - **为什么需要常量**:解释常量的必要性。 - **CONST与#DEFINE的比较**:对比两种定义常量的方法。 - **常量定义规则**:提出常量定义的具体规范。 - **类中的常量**:说明类中如何正确使用常量。 ##### 第6章 函数设计 - **参数的规则**:规定函数参数的设计准则。 - **返回值的规则**:阐明函数返回值的使用原则。 - **函数内部实现的规则**:提供函数内部逻辑的编写指南。 - **其它建议**:给出一些额外的函数设计建议。 - **使用断言**:介绍断言在调试过程中的应用。 - **引用与指针的比较**:比较引用和指针的异同及适用场景。 ##### 第7章 内存管理 - **内存分配方式**:介绍不同的内存分配机制。 - **常见的内存错误及其对策**:列举常见内存错误并提出解决方案。 - **指针与数组的对比**:对比指针和数组的特点。 - **指针参数是如何传递内存的**:解释指针作为参数时的内存传递机制。 - **FREE和DELETE把指针怎么啦**:说明释放指针所指向内存的方法。 - **动态内存会被自动释放吗**:讨论动态内存的释放机制。 - **杜绝“野指针”**:防止指针指向已释放内存的方法。 - **有了MALLOC/FREE为什么还要NEW/DELETE**:解释C++中为何需要NEW/DELETE。 - **内存耗尽怎么办**:当系统内存不足时的应对策略。 - **MALLOC/FREE的使用要点**:提供MALLOC/FREE使用的注意事项。 - **NEW/DELETE的使用要点**:列出NEW/DELETE使用的注意事项。 - **一些心得体会**:分享关于内存管理的经验和感悟。 ##### 第8章 C++函数的高级特性 - **函数重载的概念**:介绍函数重载的基本概念。 - **成员函数的重载、覆盖与隐藏**:讲解成员函数重载、覆盖和隐藏的区别。 - **参数的缺省值**:说明如何使用默认参数值。 - **运算符重载**:探讨运算符重载的原理和应用场景。 - **函数内联**:解释内联函数的工作原理和优势。 - **一些心得体会**:分享关于C++函数特性的经验和体会。 ##### 第9章 类的构造函数、析构函数与赋值函数 - **构造函数与析构函数的起源**:追溯构造函数和析构函数的历史。 - **构造函数的初始化表**:说明如何使用初始化列表来初始化对象。 - **构造和析构的次序**:讨论构造和析构过程中对象成员的创建和销毁顺序。 - **示例:类STRING的构造函数与析构函数**:通过STRING类的例子说明构造和析构的过程。 - **不要轻视拷贝构造函数与赋值函数**:强调拷贝构造函数和赋值函数的重要性。 - **示例:类STRING的拷贝构造函数与赋值函数**:通过STRING类的实例展示拷贝构造函数和赋值函数的编写方法。 - **偷懒的办法处理拷贝构造函数与赋值函数**:介绍简化拷贝构造函数和赋值函数编写的方法。 - **如何在派生类中实现类的基本函数**:指导如何在派生类中正确地重写基类的构造函数和析构函数。 - **一些心得体会**:分享作者关于构造函数、析构函数和赋值函数的心得体会。 ##### 第10章 类的继承与组合 - **继承**:介绍类的继承机制。 - **组合**:讨论类之间通过组合关系实现复用的方法。 ##### 第11章 其它编程经验 - **使用CONST提高函数的健壮性**:说明如何利用CONST关键字增加函数的稳定性。 - **提高程序的效率**:提供提高程序执行效率的方法。 - **一些有益的建议**:给出其他有助于编程实践的建议。 #### 三、结论 《高质量C/C++编程指南》不仅是一本技术书籍,更是一份程序员的职业修养指南。通过对本书的学习,读者不仅可以掌握C/C++语言的核心知识和技术要点,还能培养出良好的编程习惯和严谨的职业态度。无论你是刚入门的新手还是有一定经验的老手,都能从中受益匪浅。
- 粉丝: 4
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助