C++标准模板库(STL)教程
C++标准模板库(Standard Template Library, STL)是C++标准库的一部分,它提供了一组泛型的、可重用的数据结构和算法。STL的核心在于其模板编程技术,使得它能够在不牺牲性能的前提下,为不同数据类型提供一致的操作接口。STL主要由容器(Containers)、迭代器(Iterators)、算法(Algorithms)和函数对象(Function Objects)四部分组成。
1. 容器(Containers)
容器是用来存储元素的模板类,它们提供了对元素的动态存储和访问。STL中的容器主要分为序列容器和关联容器两大类。
- 序列容器:元素按照插入的顺序存储,主要包括
vector
、deque
、list
、forward_list
、string
(特殊的字符序列容器)、array
(C++11引入)。 - 关联容器:元素按照键值对进行存储,并自动按键排序,主要包括
set
、multiset
、map
、multimap
,以及无序版本的unordered_set
、unordered_multiset
、unordered_map
、unordered_m