STL概论
STL提供了6大组件:
容器、算法、迭代器、仿函数、适配器、 空间配置器
容器:各种数据结构,如vector,list,deque,set,map等,从实现角度来看,STL容器是一种class template
算法:如sort,find,copy,for_each,从实现角度来看则是fuction temlate
迭代器:扮演了容器与算法之间的胶合剂,原生指针也是一种迭代器,每个容器都有自己的专属迭代器。
仿函数:行为类似函数,可作为算法的某种策略,仿函数是一种重载了operator[] 的class或者 class template。
适配器:一种用来修饰容器或者仿函数或者迭代器接口的东西。
空间配置器:负责空间的配置与管理,实现了动态空间配置、空间管理、空间释放的class template。
六大组件相互关系:容器通过空间配置器取得数据存储空间,算法通过迭代器存储容器中的内容,仿函数可以协助算法完成不同的策略变化,适配器可以修饰仿函数。
STL优点:
高可重用性,高性能,高移植性,跨平台