设为首页 加入收藏

TOP

STL扩展技术手册 译者序
2013-10-07 00:32:37 来源: 作者: 【 】 浏览:80
Tags:STL 扩展 技术 手册 译者

译者序

自从1998年9月C++(www.cppentry.com)标准定案以来,STL就作为标准库的重要组成部分,为广大程序员所熟知,也确实带来巨大的便利。但作为一种兼顾系统编程(www.cppentry.com)和应用编程(www.cppentry.com)的语言,C++(www.cppentry.com)绝不可能局限于STL的象牙塔之中。只要面对的任务稍具现实性,我们就不可避免地要和所谓"遗产"API(应用程序接口)打交道。

这些编程(www.cppentry.com)接口在过去若干年中积累而来,固然堪称宝贵财富,但有时候也会成为C++(www.cppentry.com)编程(www.cppentry.com)的沉重负担。

使用方式让人隐约感到暗合STL的概念,"集合"、"迭代"、"迭代器"的影子似乎触手可及,甚至就是另一种容器实现,但由于缺少所需的编译时接口,无法直接搭配STL算法和适配器。
经常采取显式资源管理,其传统的"分配--使用--释放"三部曲,在C++(www.cppentry.com)异常大行其道的今天,显得非常脆弱,往往给程序种下慢性病的病根--资源泄露。

几乎每个C++(www.cppentry.com)程序员都会面对以上问题,在形形色色的解决方案中,Matthew Wilson编写的STLSoft库可算是个中翘楚,其中包含大量适配代码,让这些传统API摇身一变,不仅可以方便地搭配STL使用,同时具备了异常安全性,让客户代码简洁、清晰、透明到让人吃惊的程度。STLSoft正是Matthew Wilson写作这本《Extended STL》的基础,他在其中包含了十余个STLSoft组件,不厌其烦地讲解实现思路和方法,对比直接使用API和使用适配组件的代码,以极其直观的方式让读者体会到二者之间的差异。

熊掌有了,那么鱼呢?性能可算是每个C++(www.cppentry.com)程序员心中挥之不去的情结。放心,Matthew Wilson对此绝无含糊其辞、蒙混过关的企图,相反,他始终将组件的运行性能列为重要的设计目标。书中大多数组件都附有实实在在的性能基准数据,清楚地表明"抽象"和"高效"并非不可兼得。

一部容量如此巨大的著作,如果全是罗列组件、讲解实现,未免显得匠气十足。而作者的过人之处在于一边埋头苦干,一边抬头看路,他将STLSoft实现代码背后的的理念、观点、感悟也和盘托出。所以书中不仅随处散落着各种"提示"、"规则"、短小精悍的"插曲",作者还以正式的篇幅讲解STL概念及扩展、元素引用类别、抽象泄露法则、鹅规则和鸭规则,讲解之后,又在书中频繁运用,让人很容易将抽象的概念、理论和实际的设计、代码相联系。十余个组件的设计固然精妙,其背后的思维方式固然深刻,但看过这本书之后,能够以合理的方式在既有数据、算法之上抽象出STL扩展容器,或者深刻认识STL的概念、方法,为运用STL打下坚实的基础,才算是读者最重要的收获。

人生苦短。我们宁愿在编写冗长繁复的代码之后,为更新、维护绞尽脑汁;或者宁愿在设计漏洞百出的资源管理机制后,为解决时隐时现的bug殚精竭虑;还是为一本好书全心投入,从此和简洁、高效、安全的代码结缘?答案不言而喻。

译者
2008.3

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2008年9月等考二级C++笔试试题(1) 下一篇STL扩展技术手册 目录

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: