作者:jicanmeng
时间:2017年06月20日
STL是一些模板类(class template)和模板函数(function template)的集合。learncpp.com上面的描述如下:
The Standard Template Library is a collection of classes that provide templated containers, algorithms, and iterators.
STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),几乎所有的代码都采用了模板类和模版函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。在C++标准中,STL被组织为下面的13个头文件:<algorithm>、<deque>、<functional>、<iterator>、<vector>、<list>、<map>、<memory>、<numeric>、<queue>、<set>、<stack>和<utility>。
container(容器)共包括四类:Sequence containers, Associative Containers, Containers Adapters和Unordered associative containers. 每种类型中都有几个class template。
iterators包括很多function templates和class templates,使用的时候需要包括iterator头文件:include &lgt;iterator>
。
algorithms包括很多function templates,使用的时候需要包括algorithm头文件:include &lgt;algorithm>
。
后面的几篇文章举几个简单的例子,来自于learncpp.com.