STL概述
STL,即标准模板库,英文全称为Standard Template Library。STL最初由惠普实验室开发,于1998年被定为国际标准,正式成为C++标准库中不可或缺的重要组成部分,也是C++标准库中极具革命性的一部分。STL包含了很多在计算机科学领域常用的基本数据结构和基本算法,为我们提供了一个可扩展的应用框架,高度体现了软件的可复用性。
STL采用了泛型化程序设计的思想,使用了C++类模板和函数模板的机制,主要由三大部分组成,分别为:容器、算法和迭代器。STL的一个重要特点是将数据和操作分离,数据由容器进行管理,操作由算法进行控制,迭代器则在两者之间充当粘合剂,使任何算法都可以与任何容器相互协作。
容器概述
容器是STL中用来管理某类对象的一种数据结构,会自动申请和释放内存,无需显式进行new和delete操作。每一种容器都有其优点和缺点,为了满足程序开发中的不同需求,STL准备了七种基本容器类型,分别为:
向量(vector)
双端队列(deque)
列表(list)
集合(set)
多重集合(multiset)
映射(map)
多重映射(multimap)
这七种基本容器类型可以划分为两大