《Effective STL中文版》前言
我第一次写关于STL(Standard Template Library,标准模板库)的介绍是在1995 年,当时我在More Effective C++的最后一个条款中对STL 做了粗略的介绍。此后不久,我就陆续收到一些电子邮件,询问我什么时候开始写Effective STL。
有好几年时间我一直在拒绝这种念头。刚开始的时候,我对STL 并不非常熟悉,根本不足以提供任何关于STL 的建议。但是随着时间的推移,以及我的经验的增长,我的想法开始有了变化。毫无疑问,STL 库代表了程序效率和扩展性设计方面的一个突破,但是当我开始真正使用STL 的时候,却发现了许多我原来不可能注意到的实际问题。除了最简单的STL 程序以外,要想移植一个稍微复杂一点的STL 程序都会面临各种各样的问题,这不仅仅是因为STL 库实现有各自的特殊之处,而且也是因为底层的编译器对于模板的支持各不相同——有的支持非常好,但有的却非常差。要获得STL 的正确指南并不容易,所以,学习“STL 的编程方式”非常困难,即使在克服了这个阶段的障碍之后,你要想找到一份既容易理解又描述精确的参考文档仍然是一大困难。可能最沮丧的是,即使一个小小的STL 用法错误,也常常会导致一大堆的编译器诊断信息,而且每一条诊断信息都可能有上千个字符长,并且大多数会引用到一些在源代码中根本没有提到的类、函数或者模板(几乎都很难理解)。尽管我对STL 赞赏有加,并且对STL 背后的人们更是钦佩无比,但是要向从事实际开发工作的程序员推荐STL 却感到非常不舒服。因为,我自己并不确定要有效地使用STL 是否是可能的。
然后,我开始注意到了一些让我非常惊讶的事情。尽管STL 存在可移植性问题,尽管它的文档并不完整,尽管编译器的诊断信息有如传输线上的噪声一样,但是,我的许多咨询客户正在使用STL。而且,他们并不只是把STL 拿来玩一玩,而是在用它开发实际的产品。这是一个很重要的启示。过去我知道STL 是一个设计非常考究的模板库,这时我逐渐感觉到,既然程序员们愿意忍受移植性的麻烦、不够完整的文档及难以理解的错误消息,那么这个库除了良好的设计以外,一定还有其他更多的优势。随着专业程序员的数量越来越多,我意识到,即使是一个很差的STL 实现,也胜过没有实现。
更进一步,我知道STL 的境况正在好转。C++库和编译器越来越多地遵从C++标准,好的文档也开始出现了,而且编译器的诊断信息也在改进。因此我决定投身到这场STL 运动中,尽我的一份微薄之力。本书就是我努力的结果:50 条有效使用STL 的经验。
我原来的计划是在1999 年的下半年写作本书,脑子里一直是这样想的,并且也有了一个提纲。但后来我改变了路线。我搁下了本书的写作,而去开发一门有关STL 的引导性培训课程,并且也教授了几组程序员。大约一年以后,我又回到这本书的写作上,并根据培训课程中积累的经验重新修订了本书的提纲。就如同Effective C++成功地以实际程序员所面临的问题为基础一样,我希望本书也以类似的方式来面对STL 编程过程中的各种实际问题,特别是那些对于专业开发人员尤为重要的实际问题。
本文节选自《Effective STL中文版》一书
潘爱民 陈铭 邹开红著
电子工业出版社出版
相关推荐
《Effective STL》是由著名软件设计专家Scott Meyers所著的一本关于Standard Template Library(STL)的实用指南,中文版的发布使得更多的中国读者能够深入理解并熟练运用STL。这本书是C++程序员的必备参考书籍,...
在《中文版Effective STL:50条有效使用STL的经验》中,畅销书作家ScottMeyers(EffectiveC++和MoreEffectiveC++的作者)揭示了专家总结的一些关键规则,包括专家们总是采用的做法,以及专家们总是避免的做法。...
《Effective STL》是一本专注于C++标准模板库(STL)使用的指南书籍,由Scott Meyers撰写。书中详细讲解了如何有效地使用STL中的容器、迭代器、算法和函数对象,以及如何避免常见的陷阱和误区。本书针对的读者是已经...
### Effective STL 中文版 关键知识点解析 #### 一、STL简介与背景 - **标准模板库(Standard Template Library, STL)**是C++的一个关键组成部分,它提供了一组通用算法以及容器类来帮助开发者高效地进行软件开发...
### 《Effective STL》核心知识点概述 #### 一、STL简介与背景 - **标准模板库(STL)**是C++标准库的一部分,它为C++开发者提供了一组通用的数据结构和算法,旨在提高代码重用性和编程效率。 - **发展历史**:STL...
《Effective STL中文版:50条有效使用STL的经验》是C++编程领域的一本经典著作,由Scott Meyers撰写,旨在帮助程序员更好地理解和利用标准模板库(STL)。这本书提出了50个实用的建议,涵盖了STL的核心组件,如容器...
《Effective STL中文版》是C++开发者不可或缺的一本经典读物,它深入探讨了标准模板库(Standard Template Library,简称STL)的高效使用方法。STL是C++编程中的核心部分,包含容器、迭代器、算法和函数对象等重要...
《Effective STL》是由著名C++专家Scott Meyers所著的一本经典编程指南,该书深入探讨了Standard Template Library(STL)的高效使用方法。STL是C++库中的一个核心部分,它提供了容器(如vector、list、set等)、...
《Effective STL 中文版》是一本深入探讨C++标准模板库(STL)使用技巧与最佳实践的专业书籍。STL作为C++编程中的重要组件,包含了容器、迭代器、算法和函数对象等核心概念,为程序员提供了高效且强大的数据结构和算法...
Effective STL 中文版(完整版) 适合初学者,有兴趣学好的不妨下载研究一下
接下来是`EFFective STL中文版(附中文笔记).CHM`,这是Scott Meyers的《Effective STL》一书的中文版本。这本书深入探讨了如何更有效地使用STL,提出了许多实践建议和技巧。Meyers的“Effective”系列书籍以其实用性...
《Effective STL》是Scott Meyers撰写的一本关于标准模板库(STL)的实用指南,这本书深入探讨了如何更有效地使用STL,提高C++编程效率。STL是C++编程中的一个强大工具集,包括容器(如vector、list、set等)、迭代...
Effective+STL+中文版.pdf
《Effective STL》PDF版本下载