高质量C++/C编程指南
文件状态
[ ] 草稿文件
[] 正式文件
[ ] 更改正式文件
文件标识:
当前版本: 1.0
作 者: 林锐 博士
完成日期: 2001年7月24日
高质量 C++/C 编程指南,v 1.0
版 本 历 史
版本/状态 作者 参与者 起止日期 备注
V 0.9
草稿文件
林锐 2001-7-1至
2001-7-18
林锐起草
V 1.0
正式文件
林锐 2001-7-18至
2001-7-24
朱洪海审查V 0.9,
林锐修正草稿中的错误
2001 Page 2 of 102
高质量 C++/C 编程指南,v 1.0
目
目
录
录
前 言.................................................................................................................................... 6
第1章 文件结构.................................................................................................................. 11
1.1 版权和版本的声明....................................................................................................11
1.2 头文件的结构...........................................................................................................12
1.3 定义文件的结构........................................................................................................13
1.4 头文件的作用...........................................................................................................13
1.5 目录结构...................................................................................................................14
第2章 程序的版式.............................................................................................................. 15
2.1 空行...........................................................................................................................15
2.2 代码行....................................................................................................................... 16
2.3 代码行内的空格........................................................................................................17
2.4 对齐...........................................................................................................................18
2.5 长行拆分...................................................................................................................19
2.6 修饰符的位置...........................................................................................................19
2.7 注释...........................................................................................................................20
2.8 类的版式...................................................................................................................21
第3章 命名规则.................................................................................................................. 22
3.1 共性规则...................................................................................................................22
3.2 简单的WINDOWS应用程序命名规则.........................................................................23
3.3 简单的UNIX应用程序命名规则................................................................................25
第4章 表达式和基本语句.................................................................................................. 26
4.1 运算符的优先级........................................................................................................26
4.2 复合表达式............................................................................................................... 27
4.3 IF 语句.......................................................................................................................27
4.4 循环语句的效率........................................................................................................29
4.5 FOR 语句的循环控制变量.........................................................................................30
4.6 SWITCH语句...............................................................................................................31
4.7 GOTO语句..................................................................................................................31
第5章 常量......................................................................................................................... 33
5.1 为什么需要常量........................................................................................................33
5.2 CONST 与 #DEFINE的比较..........................................................................................33
5.3 常量定义规则...........................................................................................................33
5.4 类中的常量............................................................................................................... 34
2001 Page 3 of 102
高质量 C++/C 编程指南,v 1.0
第6章 函数设计.................................................................................................................. 36
6.1 参数的规则............................................................................................................... 36
6.2 返回值的规则...........................................................................................................37
6.3 函数内部实现的规则................................................................................................39
6.4 其它建议...................................................................................................................40
6.5 使用断言...................................................................................................................41
6.6 引用与指针的比较....................................................................................................42
第7章 内存管理.................................................................................................................. 44
7.1内存分配方式............................................................................................................44
7.2常见的内存错误及其对策.........................................................................................44
7.3指针与数组的对比.....................................................................................................45
7.4指针参数是如何传递内存的?..................................................................................47
7.5 FREE和DELETE把指针怎么啦?.................................................................................50
7.6 动态内存会被自动释放吗?.....................................................................................50
7.7 杜绝“野指针”............................................................................................................51
7.8 有了MALLOC/FREE为什么还要NEW/DELETE ?..........................................................52
7.9 内存耗尽怎么办?....................................................................................................53
7.10 MALLOC/FREE 的使用要点.......................................................................................54
7.11 NEW/DELETE 的使用要点.........................................................................................55
7.12 一些心得体会..........................................................................................................56
第8章 C++函数的高级特性...............................................................................................57
8.1 函数重载的概念........................................................................................................57
8.2 成员函数的重载、覆盖与隐藏.................................................................................60
8.3 参数的缺省值...........................................................................................................63
8.4 运算符重载............................................................................................................... 64
8.5 函数内联...................................................................................................................66
8.6 一些心得体会...........................................................................................................68
第9章 类的构造函数、析构函数与赋值函数....................................................................69
9.1 构造函数与析构函数的起源.....................................................................................69
9.2 构造函数的初始化表................................................................................................70
9.3 构造和析构的次序....................................................................................................72
9.4 示例:类STRING的构造函数与析构函数..................................................................72
9.5 不要轻视拷贝构造函数与赋值函数.........................................................................73
9.6 示例:类STRING的拷贝构造函数与赋值函数..........................................................73
9.7 偷懒的办法处理拷贝构造函数与赋值函数..............................................................75
9.8 如何在派生类中实现类的基本函数.........................................................................75
9.9 一些心得体会...........................................................................................................77
2001 Page 4 of 102
高质量 C++/C 编程指南,v 1.0
第10章 类的继承与组合....................................................................................................78
10.1 继承......................................................................................................................... 78
10.2 组合......................................................................................................................... 80
第11章 其它编程经验........................................................................................................ 82
11.1 使用CONST提高函数的健壮性.................................................................................82
11.2 提高程序的效率......................................................................................................84
11.3 一些有益的建议......................................................................................................85
参考文献............................................................................................................................ 87
附录A :C++/C代码审查表...............................................................................................88
附录B :C++/C试题.......................................................................................................... 93
附录C :C++/C试题的答案与评分标准............................................................................97
2001 Page 5 of 102
评论0