要想真正的熟悉和深入了解STL,就必须先了解模版的概念(关于模版后面的发布文章会详解),这篇文章首先介绍STL的概念,分类,使用用例。
1.STL定义:
标准模版库简称STL,它是由惠普公司的Alexander Stepanov和Meng Lee合作开发的,他目前已经成为C++草案标准的一部分。
2.STL有6大组件:
algorithm(算法)、container(容器)和iterator(迭代器),function object(函数对象)、adaptors(适配器)和allocator(记忆体配置器),其中最主要的是前三个组件。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。
3.STL头文件:
在C++标准中,STL被组织为下面的13个头文件:<algorithm>、<deque>、<functional>、<iterator>、<vector>、<list>、<map>、<memory>、<numeric>、<queue>、<set>、<stack>和<utility>。
算法部分主要由头文<algorithm>,<numeric>和<functional>组成。
容器部分主要由头文件<vector>,<list>,<deque>,<set>,<map>,<stack>和<queue>组成。
迭代器部分主要由头文件<utility>,<iterator>和<memory>组成。
4.STL的容器可以分为以下几个大类:
一:顺序(序列)容器, 有vector, list, deque, string.
二 : 关联容器, 有set, multiset, map, mulmap, hash_set, hash_map, hash_multiset, hash_multimap
三: 其他的杂项: stack, queue, valarray, bitset