《Exceptional C++:47个C++工程难题、编程问题和解决方案(中文版)》讲述如何用标准C++进行企业级的软件开发,通过“问题/解答”的方式,启发读者思考,帮助了解隐藏在问题背后的设计思想,以及各种编程指导原则适用的场合。此书列出的条款涵盖了许多方面的主题,尤其对异常安全性、类和模块的合理设计,正确的代码优化,以及编写符合C++标准的可移植代码进行了深入的讨论。还适于有一定C++编程基础的读者阅读。
......(更多)
......(更多)
1泛型程序设计与C++标准库
条款1:迭代器难度系数
条款2:大小写不敏感的字符串——之一
条款3:大小写不敏感的字符串——之二
条款4:可重用性最高的泛型容器——之一
条款5:可重用性最高的泛型容器——之二
条款6:临时对象
条款7:标准库的使用(或者,再论临时对象)
2异常安全性相关的问题与技术
条款8:编写异常安全的代码——之一
条款9:编写异常安全的代码——之二
条款10:编写异常安全的代码——之三
条款11:编写异常安全的代码——之四
条款12:编写异常安全的代码——之五
条款13:编写异常安全的代码——之六
条款14:编写异常安全的代码——之七
条款15:编写异常安全的代码——之八
条款16:编写异常安全的代码——之九
条款17:编写异常安全的代码——之十
条款18:代码的复杂性——之一
条款19:代码的复杂性——之二
3类的设计与继承
条款20:类的编写技巧
条款21:虚函数的重载
条款22:类之间的关系——之一
条款23:类之间的关系——之二
条款24:继承的使用和滥用
条款25:面向对象程序设计
4编译器防火墙和Pimpl惯用法
条款26:将编译期依赖性降到最低——之一
条款27:将编译期依赖性降到最低——之二
条款28:将编译期依赖性降到最低——之三
条款29:编译防火墙
条款30:FastPimpl惯用法
5名字查找、名字空间和接口规则
条款31:名字查找与接口规则——之一
条款32:名字查找与接口规则——之二
条款33:名字查找和接口规则——之三
条款34:名字查找与接口规则——之四
6内存管理
条款35:内存管理——之一
条款36:内存管理——之二
条款37:AUTO_PTR
7误区、陷阱以及错误的惯用法
条款38:对象标识
条款39:自动转换
条款40:对象的生存期——之一
条款41:对象的生存期——之二
8其他主题
条款42:变量的初始化
条款43:正确使用const
条款44:类型转换
条款45:BOOL
条款46:转调函数
条款47:控制流程
后记
参考书目
......(更多)
If a function isn't going to handle (or translate or deliberately absorb) an exception, it should allow the exception to propagate up to a caller who can handle it.
Always structure your code so that resources are correctly freed and data is in a consistent state even in the presence of exceptions.
......(更多)