标准模板库就是类与函数模板的大集合。STL共有6种组件:容器,容器适配器,迭代器,算法,函数对象和函数适配器。
1、容器:
容器是用来存储和组织其他对象的对象。STL容器类的模板在标准头文件中定义。
1)、序列容器是上面图中的前三类:
容器的操作:
2)、deque<T>容器:非常类似vector<T>,且支持相同的操作,但是它还可以在序列开头添加和删除。
3)、list<T>容器是双向链表,因此可以有效的在任何位置添加和删除。列表的缺点是不能随机访问内容,要想访问内容必须在列表的内部从头开始便利内容,或者从尾部开始。
②关联容器
map<K, T>映射容器:K表示键,T表示对象,根据特定的键映射到对象,可以进行快速的检索。
2、容器适配器:
容器适配器是包装了现有的STL容器类的模板类,提供了一个不同的、通常更有限制性的功能。
包含队列和栈
迭代器是一种特殊的指针,它指的是容器中的某个位置的地址,当删除的时候,迭代器依然指向某个位置的地址,自然的它的内容也是变化的,它不是普通的指针。这个后面介绍,尤其在删除容器的内容时经常会出现错误,这个迭代器确实要好好理解
4、算法:
算法是操作迭代器提供的一组对象的STL函数模板,对对象的一个操作,可以与前面的容器迭代器结合起来看。算法是我写的重点,重点介绍模板类的算法。。。
5、函数对象:
函数对象是重载()运算符的类类型的对象。就是实现operator()()函数。
函数对象模板在<functional>头文件中定义。
6、函数适配器:
函数适配器是允许合并函数对象以产生一个更复杂的函数对象的函数模板。
原文转自:http://blog.csdn.net/timebomb/article/details/6716064