stl理解

来源:互联网 发布:linux ld错误返回1 编辑:程序博客网 时间:2024/06/07 08:06

STL通过模板的机制允许推迟对某些类型的选择,直到真正想使用模板或者说对模板进行特化的时候。

STL从广义上讲分3类:slgorithm(算法)、container(容器)、iterator(迭代器)。几乎所有的代码都采用了模板类和模板函数的方式,相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。包括13个头文件:

算法:algorithm functional numeric

容器:dequeue vector list map set stack queue

迭代器:iterator 

1.容器

连续存储的元素:

vector(向量) deque(双队列)

向量:连续存储的元素

列表:由节点组成的双向链表,每一个节点包含着一个元素

双队列:连续存储的指向不同元素的指针所组成的数组

集合:由节点组成的红黑树,每个节点都包含着一个元素,节点之间以某种作用于元素对的谓词排列,没有两个不同的元素能够拥有相同的次序

多重集合:允许存在两个次序相等的元素的集合

栈:先进后出的值的排列

队列:先进先出的值的排列

优先队列:元素的次序是由作用于所存储的值对上的某种谓词决定的一种队列

映射:由{键,值}对组成的集合,以某种作用于键对上的谓词排列

多重映射:允许键对有相等的次序的映射



0 0
原创粉丝点击