stl之六大部件
有哪六大部件?
容器(containers)、分配器(allocators)、算法(algorithm)、迭代器(iterator)、适配器(adapters)、仿函数(functors)
这些部件分别是干啥的?
1.容器
容器就是数据结构,里面有list链表、queue队列等
容器用来放/取东西(也就是数据)
容器是个类模板
2.分配器
分配器是用来支持容器的,放东西需要内存空间,由分配器来管理
3.算法
算法用来对数据进行操作,里面有很多算法例如快排、二分算法等
算法是一函数模板
4.迭代器
迭代器是容器与算法的桥梁,算法要对容器进行操作,就需要通过迭代器
容器都有自己的专属迭代器,只有设计者才知道怎么遍历容器元素
迭代器是一种“泛型指针”
*注意:stl规定容器表示头和尾iterator都是前闭后开形式[)
5.适配器
适配器是用来修饰(转换)容器、仿函数、迭代器的东西
6.仿函数
仿函数其行为像函数的东西,所以叫仿