13.8 小结
本章介绍了STL的基础知识,掌握STL可以使你的程序结构更合理,数据存储和管理更科学,因此,学好STL是件很必要的事情,由于篇幅有限,本章只能对STL作简要介绍。力图通过简单的示例让读者掌握STL的精华所在,能够真正理解泛型编程的意义。
模板使得数据结构和类型分离,而STL算法只通过某个数据结构的几个基本的语义属性,屏蔽了数据结构的特定实现,成功的将算法与数据结构分离,在没有损失效率的前提下,得到了极大的发挥空间。
STL可以看做是由不同的组件组成的系统,理解容器、迭代器和适配器的概念十分重要,在此基础上才能真正理解STL算法的本质。
有些算法被表示为容器类方法,但大量STL算法都是通用的、非成员函数的,这时可将迭代器作为容器和算法间的接口来使用,另外,STL算法通过迭代器和指针的概念融合,可用于非STL容器,如常规数组以及后面要介绍的string对象等。