没有合适的资源?快使用搜索试试~ 我知道了~
高质量C++/C编程指南
试读
101页
需积分: 0 3 下载量 20 浏览量
更新于2008-11-17
收藏 864KB PDF 举报
《高质量C++/C编程指南》是上海贝尔实验室的林锐博士所著,该书旨在为C++/C程序员提供一套全面而详细的编程规范,帮助他们编写出更高质量的代码。书中涵盖了从文件结构到内存管理,从命名规则到函数设计,以及C++的高级特性等全方位的知识点。
### 文件结构
书中首先强调了文件结构的重要性,包括版权和版本声明的正确格式,头文件和定义文件的结构,以及头文件的作用。良好的文件结构不仅有助于代码的组织,还能提升代码的可读性和维护性。
### 程序的版式
关于程序的版式,书中提出了具体指导,如空行的使用,代码行的长度限制,代码行内空格的放置,长行的拆分,修饰符的位置,以及注释的书写规范。合理的版式可以增强代码的可读性,使代码风格统一,便于团队协作。
### 命名规则
命名规则是代码清晰性的关键,书中介绍了共性规则,以及针对不同操作系统(如Windows和Unix)的应用程序命名规则。遵循良好的命名习惯能够减少代码理解的难度,提高代码的可维护性。
### 表达式和基本语句
书中详细讨论了表达式的构建原则,运算符的优先级,复合表达式的使用,以及各种基本语句如IF、循环、FOR、SWITCH、GOTO的合理运用。掌握这些基本语句的正确用法,可以避免常见的编程错误,提高代码效率。
### 常量
对于常量的使用,书中解释了其必要性,并对比了CONST与#DEFINE的优缺点,提供了常量定义的规则,以及在类中使用常量的方法。合理使用常量可以增强代码的稳定性和可维护性。
### 函数设计
在函数设计方面,书中提出了参数、返回值的设计规则,函数内部实现的建议,以及如何使用断言和处理引用与指针的区别。遵循这些规则可以提高函数的健壮性和代码的安全性。
### 内存管理
内存管理是C++/C编程中的难点,书中深入探讨了内存分配方式,常见内存错误及对策,指针与数组的对比,以及MALLOC/FREE与NEW/DELETE的使用要点。正确的内存管理策略可以防止内存泄漏,提高程序的性能和稳定性。
### C++函数的高级特性
书中还讲解了C++函数的高级特性,如函数重载、成员函数的重载与覆盖、参数的缺省值、运算符重载、函数内联等,以及这些特性的应用心得。掌握这些高级特性可以使代码更加灵活和高效。
### 类的构造函数、析构函数与赋值函数
对于类的构造、析构和赋值函数,书中阐述了它们的起源,初始化表的使用,构造和析构的顺序,以及如何在派生类中实现基类的函数。理解并正确实现这些函数是面向对象编程的基础。
### 类的继承与组合
书中讨论了类的继承与组合,这两种机制在面向对象编程中扮演着核心角色,正确使用可以提高代码的复用性和扩展性。
### 其它编程经验
书中还分享了一些提高程序效率和健壮性的经验和建议,包括如何使用CONST提高函数的健壮性,以及一些有益的编程技巧和心得体会。
《高质量C++/C编程指南》是一部集理论与实践于一体的编程宝典,对于任何想要提高C++/C编程技能的程序员来说,都是不可或缺的学习资源。通过遵循书中的指导,程序员可以编写出更加健壮、高效、可读性强的代码,从而提升软件的质量。
高质量 C++/C 编程指南
文件标识:
当前版本: 1.0
作 者: 林锐 博士
文件状态
[ ] 草稿文件
[√] 正式文件
[ ] 更改正式文件
完成日期: 2001 年 7 月 24 日
高质量 C++/C 编程指南,v 1.0
2001 Page 2 of 101
版 本 历 史
版本/状态 作者 参与者 起止日期 备注
V 0.9
草稿文件
林锐
2001-7-1 至
2001-7-18
林锐起草
V 1.0
正式文件
林锐
2001-7-18 至
2001-7-24
朱洪海审查 V 0.9,
林锐修正草稿中的错误
高质量 C++/C 编程指南,v 1.0
2001 Page 3 of 101
目
目
录
录
前 言 .......................................................................................................................................6
第 1 章 文件结构....................................................................................................................8
1.1
版权和版本的声明........................................................................................................8
1.2
头文件的结构 ...............................................................................................................8
1.3
定义文件的结构 ...........................................................................................................8
1.4
头文件的作用 ...............................................................................................................8
1.5
目录结构 .......................................................................................................................8
第 2 章 程序的版式................................................................................................................8
2.1
空行...............................................................................................................................8
2.2
代码行 ...........................................................................................................................8
2.3
代码行内的空格 ...........................................................................................................8
2.4
对齐...............................................................................................................................8
2.5
长行拆分 .......................................................................................................................8
2.6
修饰符的位置 ...............................................................................................................8
2.7
注释...............................................................................................................................8
2.8
类的版式 .......................................................................................................................8
第 3 章 命名规则....................................................................................................................8
3.1
共性规则 .......................................................................................................................8
3.2
简单的 WINDOWS 应用程序命名规则 .........................................................................8
3.3
简单的 UNIX 应用程序命名规则..................................................................................8
第 4 章 表达式和基本语句....................................................................................................8
4.1
运算符的优先级 ...........................................................................................................8
4.2
复合表达式 ...................................................................................................................8
4.3
IF 语句...........................................................................................................................8
4.4
循环语句的效率 ...........................................................................................................8
4.5
FOR 语句的循环控制变量 ............................................................................................8
4.6
SWITCH 语句..................................................................................................................8
4.7
GOTO 语句......................................................................................................................8
第 5 章 常量............................................................................................................................8
5.1
为什么需要常量 ...........................................................................................................8
5.2
CONST 与 #DEFINE 的比较 ...........................................................................................8
5.3
常量定义规则 ...............................................................................................................8
5.4
类中的常量 ...................................................................................................................8
第 6 章 函数设计....................................................................................................................8
高质量 C++/C 编程指南,v 1.0
2001 Page 4 of 101
6.1 参数的规则 ...................................................................................................................8
6.2
返回值的规则 ...............................................................................................................8
6.3
函数内部实现的规则....................................................................................................8
6.4
其它建议 .......................................................................................................................8
6.5
使用断言 .......................................................................................................................8
6.6
引用与指针的比较........................................................................................................8
第 7 章 内存管理....................................................................................................................8
7.1 内存分配方式................................................................................................................8
7.2 常见的内存错误及其对策.............................................................................................8
7.3 指针与数组的对比 ........................................................................................................8
7.4 指针参数是如何传递内存的?.....................................................................................8
7.5
FREE 和 DELETE 把指针怎么啦?.................................................................................8
7.6
动态内存会被自动释放吗?........................................................................................8
7.7
杜绝“野指针” ...........................................................................................................8
7.8
有了 MALLOC/FREE 为什么还要 NEW/DELETE ?.......................................................8
7.9
内存耗尽怎么办?........................................................................................................8
7.10
MALLOC/FREE 的使用要点.........................................................................................8
7.11
NEW/DELETE 的使用要点 ...........................................................................................8
7.12
一些心得体会 .............................................................................................................8
第 8 章 C++函数的高级特性.................................................................................................8
8.1
函数重载的概念 ...........................................................................................................8
8.2
成员函数的重载、覆盖与隐藏....................................................................................8
8.3
参数的缺省值 ...............................................................................................................8
8.4 运算符重载 ...................................................................................................................8
8.5
函数内联 .......................................................................................................................8
8.6
一些心得体会 ...............................................................................................................8
第 9 章 类的构造函数、析构函数与赋值函数.....................................................................8
9.1
构造函数与析构函数的起源........................................................................................8
9.2
构造函数的初始化表....................................................................................................8
9.3
构造和析构的次序........................................................................................................8
9.4
示例:类 STRING 的构造函数与析构函数..................................................................8
9.5
不要轻视拷贝构造函数与赋值函数 ............................................................................8
9.6
示例:类 STRING 的拷贝构造函数与赋值函数 ..........................................................8
9.7
偷懒的办法处理拷贝构造函数与赋值函数.................................................................8
9.8
如何在派生类中实现类的基本函数 ............................................................................8
9.9
一些心得体会 ...............................................................................................................8
第 10 章 类的继承与组合......................................................................................................8
高质量 C++/C 编程指南,v 1.0
2001 Page 5 of 101
10.1 继承 .............................................................................................................................8
10.2
组合.............................................................................................................................8
第 11 章 其它编程经验 ..........................................................................................................8
11.1
使用 CONST 提高函数的健壮性..................................................................................8
11.2
提高程序的效率..........................................................................................................8
11.3
一些有益的建议..........................................................................................................8
参考文献 .................................................................................................................................8
附录 A :C++/C 代码审查表 ................................................................................................8
附录 B :C++/C 试题............................................................................................................8
附录 C :C++/C 试题的答案与评分标准.............................................................................8
剩余100页未读,继续阅读
资源推荐
资源评论
2023-07-19 上传
186 浏览量
5星 · 资源好评率100%
109 浏览量
5星 · 资源好评率100%
2008-12-14 上传
2009-06-18 上传
5星 · 资源好评率100%
186 浏览量
2011-12-30 上传
5星 · 资源好评率100%
资源评论
b_cup
- 粉丝: 2
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于javaswing的可视化学生信息管理系统
- 车辆、人检测14-TFRecord数据集合集.rar
- 车辆、人员、标志检测26-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- 一款完全免费的屏幕水印工具
- 基于PLC的空调控制原理图
- 基于VUE的短视频推荐系统
- Windows环境下Hadoop安装配置与端口管理指南
- 起重机和汽车检测17-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar
- XAMPP 是一个免费且易于安装的Apache发行版
- 汽车软件需求开发与管理-从需求分析到实现的全流程解析
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功