|
編輯推薦: |
C++标准委员会成员Bruce Eckel推荐阅读
深入理解C++编程规范,培养良好编程风格
全面提升C++大规模编程功力
C++支持大规模编程,可以用来表示同一个程序中不同部分之间的关系。本书讨论的不是传统小规模编程中遇到的问题,比如逐行编码的细节,而是讲解如何使用C++的大规模编程特性,而这也是经常会让程序开发老手困惑的地方。
作者演示了如果C++强大的语言特性使用不当,可能会引发程序混乱,从而导致程序难以理解,甚至效率低下。作者重写了几个程序,其中用到的技术具有提高一致性、移除冗余的继承等作用。本书在分析程序时,采取了与进行代码交叉审查时一样的思路,读者可以先独立评估和评价编程问题的可替代方法,然后将自己的分析与作者的分析进行对比。
本书讲到的设计和编码风格完全来源于真实示例,理解并遵循这些规则,可以帮助程序员设计和编写出更好的C++程序。
本书涵盖的主题有抽象、一致性、不必要的继承、虚函数、运算符的重载、包装、效率。作者以前7章介绍的编程规则为基础,构建了一个案例。在这个案例中,一个单独的程序在经过多次改变后,其质量获得了提升,代码也得以减少。本书最后一章介绍了多重
|
內容簡介: |
《C++编程风格(修订版)》讲解了C++语言中较深层次的程序设计思想和使用方法,包含大量的软件工程概念和设计模式,重点介绍大规模编程相关的内容,例如增加代码的可读性、可维护性、可扩展性以及提高代码执行效率等的方法。《C++编程风格(修订版)》的示例代码都是从实际程序中抽取出来的,作者通过对这些代码进行分析,讲解了如何正确地编写代码以及避开一些常见的误区和陷阱,并提炼出了一些关于程序设计风格和编码风格的规则。如果开发人员在编程时能够遵循这些规则,将有助于开发出更好的C++程序。
《C++编程风格(修订版)》描述平实,示例丰富,适合有一定编程经验的计算机程序设计与开发人员参考。
|
關於作者: |
Tom Cargill是一位备受推崇的C++专家。当他在AT&T贝尔实验室工作时,有幸成为第一批使用C++的程序员。他是The C++ Journal和The C++ Report的专栏作家,而且还是Technology Exchange公司C++课程的作者。
|
目錄:
|
1 抽象
1.1 编程风格示例:计算机的定价
1.2 找出共同的抽象
1.3 类之间的区别
1.4 属性与行为
1.5 再次引入继承
1.6 去掉枚举
小结
参考文献
练习
2 一致性
2.1 编程风格示例:string类
2.2 明确定义的状态
2.3 物理状态的一致性
2.4 类不变性
2.5 动态内存的一致性
2.6 动态内存的回收
2.7 编程风格示例:第二种方法
小结
参考文献
练习
3 不必要的继承
3.1 编程风格示例:堆栈
3.2 继承作用域准则
3.3 继承关系
3.4 封装
3.5 接口与实现
3.6 模板
小结
参考文献
练习
4 虚函数
4.1 编程风格示例:车辆与车库
4.2 一致性
4.3 基类的析构函数
4.4 继承
4.5 耦合
小结
参考文献
练习
5 运算符的重载
5.1 运算符重载的基本概念
5.2 编程风格示例:FileArray类
5.3 对实现的继承
5.4 程序设计中的权衡:重载运算符和成员函数
小结
参考文献
练习
6 包装
6.1 一个用C编写的库
6.2 编程风格示例:用C++对dirent进行包装
6.3 多个Directory对象
6.4 构造函数中的失败
6.5 对失败状态的公有访问
6.6 错误信息参数
小结
参考文献
练习
7 效率
7.1 编程风格示例:BigInt类
7.2 BigInt的使用
7.3 动态字符串的长度
7.4 动态字符串的数量
7.5 客户代码
7.6 改写BigInt
小结
参考文献
练习
8 案例研究
8.1 编程风格示例:有限状态机
8.2 初始化
8.3 耦合
8.4 内聚
8.5 模块类与抽象数据类型
8.6 属性与行为
8.7 泛化
参考文献
练习
9 多重继承
9.1 多重继承中的二义性
9.2 有向无环继承图
9.3 分析虚基类
9.4 编程风格示例:Monitor类
9.5 编程风格示例:虚基类
9.6 多重协议继承
小结
参考文献
练习
10 摘要
第1章:抽象
第2章:一致性
第3章:不必要的继承
第4章:虚函数
第5章:运算符的重载
第6章:包装
第7章:效率
第8章:案例研究
第9章:多重继承
|
|