1.容器container
容器是容纳、包含一组元素的对象。容器类库中包括7种基本容器:向量vector、双端队列deque、列表list、集合set、多重集合multiset、映射map和多重映射multimap。这7种容器可以分为两种基本类型:顺序容器和关联容器。顺序容器将一组具有相同类型的元素以严格的线性形式组织起来,向量、双端队列和列表容器就属于这一种。关联容器具有根据一组索引来快速提取元素的能力,集合和映射容器就属于这一种。
2.迭代器iterator
迭代器提供了顺序访问容器中每个元素的方法。对迭代器可以使用“++”运算符来获得指向下一个元素的迭代器,可以使用“*”运算符访问一个迭代器所指向的元素。如果元素类型是类或结构体,还可以使用“->”运算符直接访问该元素的一个成员,有些迭代器还支持通过“--”运算符获得指向上一个元素的迭代器,迭代器是泛化的指针。使用独立于STL容器的迭代器,需要包含头文件<iterator>。
3.函数对象function object
函数对象是一个行为类似函数的对象,对它可以向调用函数一样调用。任何普通的函数和任何重载了()运算符的类的对象都可以作为函数对象使用,函数对象是泛化的函数。
使用STL的函数对象,需要包含头文件<functional>、
4.算法algorithm
STL包括70多个算法,包括查找算法、排序算法、消除算法、计数算法、比较算法、变换算法、置换算法和容器管理等。使用STL的算法,需要包含头文件<algorithm>。