第1页共121页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共121页文件状态[]草稿文件[√]正式文件[]更改正式文件文件标识:当前版本:1.0作者:林锐博士完成日期:2001年7月24日版本历史版本/状态作者参与者起止日期备注V0.9草稿文件林锐2001-7-1至2001-7-18林锐起草V1.0正式文件林锐2001-7-18至2001-7-24朱洪海审查V0.9,林锐修正草稿中的错误目录前言第1章文件结构1.1版权和版本的声明1.2头文件的结构1.3定义文件的结构1.4头文件的作用1.5目录结构第2章程序的版式2.1空行第2页共121页第1页共121页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共121页2.2代码行2.3代码行内的空格2.4对齐2.5长行拆分2.6修饰符的位置2.7注释2.8类的版式第3章命名规则3.1共性规则3.2简单的WINDOWS应用程序命名规则3.3简单的UNIX应用程序命名规则第4章表达式和基本语句4.1运算符的优先级4.2复合表达式4.3IF语句4.4循环语句的效率4.5FOR语句的循环控制变量4.6SWITCH语句4.7GOTO语句第5章常量5.1为什么需要常量5.2CONST与#DEFINE的比较5.3常量定义规则5.4类中的常量第6章函数设计6.1参数的规则6.2返回值的规则6.3函数内部实现的规则6.4其它建议第3页共121页第2页共121页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第3页共121页6.5使用断言6.6引用与指针的比较第7章内存管理7.1内存分配方式7.2常见的内存错误及其对策7.3指针与数组的对比7.4指针参数是如何传递内存的?7.5FREE和DELETE把指针怎么啦?7.6动态内存会被自动释放吗?7.7杜绝“野指针”7.8有了MALLOC/FREE为什么还要NEW/DELETE?7.9内存耗尽怎么办?7.10MALLOC/FREE的使用要点7.11NEW/DELETE的使用要点7.12一些心得体会第8章C++函数的高级特性8.1函数重载的概念8.2成员函数的重载、覆盖与隐藏8.3参数的缺省值8.4运算符重载8.5函数内联8.6一些心得体会第9章类的构造函数、析构函数与赋值函数9.1构造函数与析构函数的起源9.2构造函数的初始化表9.3构造和析构的次序9.4示例:类STRING的构造函数与析构函数9.5不要轻视拷贝构造函数与赋值函数9.6示例:类STRING的拷贝构造函数与赋值函数第4页共121页第3页共121页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第4页共121页9.7偷懒的办法处理拷贝构造函数与赋值函数9.8如何在派生类中实现类的基本函数9.9一些心得体会第10章类的继承与组合10.1继承10.2组合第11章其它编程经验11.1使用CONST提高函数的健壮性11.2提高程序的效率11.3一些有益的建议参考文献附录A:C++/C代码审查表附录B:C++/C试题附录C:C++/C试题的答案与评分标准第5页共121页第4页共121页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第5页共121页前言软件质量是被大多数程序员挂在嘴上而不是放在心上的东西!除了完全外行和真正的编程高手外,初读本书,你最先的感受将是惊慌:“哇!我以前捏造的C++/C程序怎么会有那么多的毛病?”别难过,作者只不过比你早几年、多几次惊慌而已。请花一两个小时认真阅读这本百页经书,你将会获益匪浅,这是前面N-1个读者的建议。一、编程老手与高手的误区自从计算机问世以来,程序设计就成了令人羡慕的职业,程序员在受人宠爱之后容易发展成为毛病特多却常能自我臭美的群体。如今在Internet上流传的“真正”的程序员据说是这样的:(1)(1)真正的程序员没有进度表,只有讨好领导的马屁精才有进度表,真正的程序员会让领导提心吊胆。(2)(2)真正的程序员不写使用说明书,用户应当自己去猜想程序的功能。(3)(3)真正的程序员几乎不写代码的注释,如果注释很难写,它理所当然也很难读。(4)(4)真正的程序员不画流程图,原始人和文盲才会干这事。(5)(5)真正的程序员不看参考手册,新手和胆小鬼才会看。(6)(6)真正的程序员不写文档也不需要文档,只有看不懂程序的笨蛋才用文档。(7)(7)真正的程序员认为自己比用户更明白用户需要什么。(8)(8)真正的程序员不接受团队开发的理念,除非他自己是头头。(9)(9)真正的程序员的程序不会在第一次就正确运行,但是他们愿意守着机器进行若干个30小时的调试改错。(1...