标准模板库是C ++编程语言的软件库,它影响了C ++标准库的几个部分。它提供了四个组件,分别称为算法,容器,函数和迭代器。请注意,术语“ STL”或“标准模板库”在ISO 14882 C ++标准中没有显示。因此,将C ++标准库称为STL是错误的,即STL和C ++标准库是2种不同的东西,前者是后者的子集。
STL包括-
STL包含序列容器和关联容器。容器是存储数据的对象。标准序列容器包括向量,双端队列和列表。标准关联容器包括set,multiset,map,multimap,hash_set,hash_map,hash_multiset和hash_multimap。还有一些容器适配器队列,priority_queue和堆栈,它们是具有特定接口的容器,使用其他容器作为实现。
迭代器是使程序员能够遍历容器的对象。STL实现五种不同类型的迭代器:输入(用于读取值序列),输出(用于写入值序列),正向(可读取,写入和向前移动),双向(类似于正向)迭代器,但也可以向后移动)和随机访问(一次操作可自由移动任意数量的步骤)。迭代器是允许STL具有通用性的主要功能。
STL中的算法是专门设计用于元素范围的功能的集合。范围是可以通过迭代器或指针访问的任何对象序列,例如一些STL容器的数组或实例。STL中的算法示例:sort(对范围中的元素进行排序),binary_search(测试值是否按排序顺序存在),min_element(返回范围中的最小元素)等。请注意,所有这些算法都可以应用于任何可接受的数据类型作为模板。