C++(www.cppentry.com)真可谓是包罗万象、博大精深。每个在C++(www.cppentry.com)中沉迷多年的爱好者都难免有这样的感慨:使用C++(www.cppentry.com)多年过后,我们往往只能算是一个熟练的使用者,却从来不敢给自己冠上“精通C++(www.cppentry.com)”的头衔。难道“精通C++(www.cppentry.com)”永远都是不惭的大言?然而,在学习、使用和研究C++(www.cppentry.com)的过程中,我们总是期望能够向“精通”不断迈进,并领悟C++(www.cppentry.com)语言的精髓。我想,要做到这一点起码要注意3个方面:一要把握语言发展的脉搏,二要多应用标准技术,三要洞悉标准技术背后的实现细节。做到这些往往能够事半功倍。
近年来,C++(www.cppentry.com)的新发展主要是在GP(泛型程序设计)方面大放异彩:标准库、boost库、容器、迭代子、仿函数等都是围绕着GP不断呈现出来的,它们代表了现今C++(www.cppentry.com)程序设计的特性。而在这种种技术的背后,隐含着一种根深蒂固的共性:模板技术,处处都是模板代码。我们可以说:泛型程序设计本身就是基于模板的程序设计。也正是模板的这种编译期机制,进一步地展现了GP的优越,体现C++(www.cppentry.com)高效率的特点,更有助于GP达到与OO并驾齐驱的地位。
使用了多年标准库等技术之后,每个人都曾经编写过许许多多模板代码,但在每天的重复劳动之余,很多人却未能真正洞悉隐藏在模板背后的实现细节。诸如特化、局部特化、实例化、重载解析等编译器实现机理,相信真正了解的人并不多。这使得我们始终未能真正摆脱我们所使用的特性的束缚,也就无法实现更加符合具体应用的技术与特性。在这种情况下,用起这些特性来总会觉得心里不踏实。这未免是程序员的一种悲哀。
从前面列出的3个方面来看,本书都能够解决读者的疑惑。本书前半部分内容为读者释疑解惑,后半部分内容则更加贴近开发者,使所探讨的技术真正发挥其效能;因而,也总能带给人豁然开朗的感觉,并使你深深体会到作者选材的独到之处。关于本书内容的全面介绍,请参考第1章,我在此就不再赘述了。
C++(www.cppentry.com)编程(www.cppentry.com)的书籍,现如今已是淋漓满目、硕果累累。但是对于C++(www.cppentry.com)和模板这个至关重要的领域,即使在未来很长一段时间里,本书也必定有着不可替代的地位,这一点从亚马逊的5星级公评和一直位于前列的销售排名可见一斑。
对于本书的翻译,我力求做到语言平实无华,期望能以流畅的语句带给读者一个轻松的阅读过程。在近一年的翻译过程中,我一次又一次地拖延了出版社的计划,正是为了真正尽到一个译者的职责,对技术和文字把好关。但“丑媳妇总要见公婆”,这本书也终究还是要和读者见面,所以我的修润也只能告一段落。在阅读的过程中,如果你有中肯的批评意见,我一定虚心地接受。我也希望能够就此书的内容与读者有更多的交流。我的电子邮箱是dotcom@263.net。
致谢
首先,我要感谢人民邮电出版社的编辑。对我每次提交的电子稿件,他们都仔细研读,并与我细细讨论书中的每个细节。与他们合作是一次令人愉快的经历。
我要感谢我的恩师北京理工大学的陈英老师,感谢陈老师的宽容与培养。袁卫东是本书前半部分的第1位读者,他花了很多时间,为我指出了许多不足之处。王曦(虫虫)是第16章的初稿译者,他的译文准确生动,给我带来很多宝贵的启发。另外,孟岩和熊节两位好友对C++(www.cppentry.com)有着多年的学习经历和丰富的知识背景,他们在我不断学习探索的过程中,给予我极大的帮助。
再一次,我要感谢在深圳的许多好友的支持。最后,感谢我的亲人和我的女友;在我工作的时候,每次都是你们在我身边;在我收获的时候,我最先想到的人总是你。
陈伟柱
2003年12月
【责任编辑:
杜书 TEL:(010)68476606】