
著译作品
《Imperfect C++中文版》
Imperfect C++ : Practical Solutions for Real-Life Programming, by Matthew Wilsonl
荣耀 刘未鹏 译
译序
千万不要被书名所误导!这是一本拥抱(而非诋毁)C++的著作。它有着独特的定位:为解决C++语言自身各种“不完美”而为现实世界中的程序员提供切合实际的解决方案。
世界上没有完美的编程语言,C++亦然。在本书中,Matthew Wilson不但为我们指出C++中诸多不完美之处,还提供了经过实践检验的应对技术和技巧,便于我们利用“不完美的C++”编写出近乎完美的代码——强建、高效、灵活、可移植、优雅的代码,而这些代码在声称为“完美的语言”中往往更难实现。
本书对给出的每一个“不完美”都进行了细致地探讨:为什么说它是一个“不完美”?对其修复的指导思想是什么?有时候只是告诫你避免做些什么,给出一些约束和建议,更多的时候则为你提供现实的解决方案,这些方案往往离不开对现代模板编程技术的使用。
书中包含有许多你未曾听过或用过的技术,有些属于作者的创新,有些则是对现有技术的精化,二者均被提升到“范式”的高度。例如:应用程序二进制接口(ABI)、垫片(Shim)、饰面(Veneer)、螺栓(Bolt-in)、区间(range)、属性(property)等。不少主题难度较大,此前为其他C++专家所忽略,探讨它们除了需要勇气外,第一手经验更是不可或缺。作为STLSoft库的主创者,Matthew在举例时,Windows API、MFC、ATL、COM以及UNIX等都是信手拈来。
除了丰富的实践、扎实的理论以及缜密的逻辑外,Matthew的文笔流畅,语言幽默,说理直接,字里行间流露出过人的自信,使得本书极具阅读趣味。
本书具有一定的阅读门槛,目标读者为中、高级职业C++程序员。书中展示的代码示例、编程技术往往在几款甚至十几款编译器上进行验证,辅以表格对其各色特性加以比较,并针对不同编译器所表现出的差异性而给出高效、可移植的解决方案——就像很多现实世界中的C++程序员应该做(而没做到)的那样。如果你正在寻找一本真材实料的“C++实战”参考书,这一本不应该让你失望。
本书中文版由我和刘未鹏先生合译。未鹏是国内C++新锐,思维敏捷,技术、文笔俱佳,我很高兴与他合作。
感谢陈冀康编辑給予的理解和支持。感谢朱艳的照料和热爱。荣珅则常常用他的小拳头乱砸书房的门,并大声地叫“爸爸”,这种干扰让我获得了必不可少的休息时间。
既有的经典名著使得C++新书问世难度加大,后来者若无过人之处就很难引起C++社群的注意,《Imperfect C++》、《C++ Common Knowledge》以及《C++ Template Metaprogramming 》等佳作一经问世便得到广泛的关注。作为译者(之一),我祝愿它们能够带给各位久违的快乐!
荣耀
2005年8月
南京师范大学
www.royaloo.com
目录
- 1 强制设计:约束、契约和断言
- 2 对象生命期
- 3 资源封装
- 4 数据封装和值类型
- 5 对象访问模型
- 6 域守卫类
- 7 ABI
- 8 跨边界的对象
- 9 动态库
- 10 线程
- 11 静态对象
- 12 优化
- 13 基本类型
- 14 数组和指针
- 15 值
- 16 关键字
- 17 语法
- 18 typedef
- 19 强制
- 20 垫片
- 21 饰面
- 22 螺栓
- 23 模板构造函数
- 24 operator bool()
- 25 快速、非侵入性的字符串拼接
- 26 你的地址是什么
- 27 下标索引操作符
- 28 增量操作符
- 29 算术类型
- 30 短路
- 31 返回值生命期
- 32 内存
- 33 多维数组
- 34 仿函数和区间
- 35 属性
- 附录A 编译器和库
- 附录B “谦虚点儿,别骄傲”
出版信息
- 书 号: ISBN 7-115-13684-X/TP • 4804
- 页 数: 591
- 开 本: 800 X 1000 1/16
- 定 价: 75元
- 印 数: 未知
- 出版日期: 2005年12月
- 出 版 社: 人民邮电出版社