C++ 标准模板库
C++ 是一种面向对象的语言,对这种语言最重要的增强是加入了标准模板库(Standard Template Library,STL),该库主要由Alexander Stepanov和Meng Lee开发的。
包括3种类型的通用项:容器、迭代器、算法。
1.容器
容器是一种数据结构,存储具有相同类型的对象。不同类型的容器在其内部以不同的方式组织对象。
STL中的容器有:deque、list、map、multimap、set、multiset、stack、queue、priority_queue和vector。
STL容器是用模板类实现的,其中包括成员函数,函数指定了可以对数据结构中的元素或数据结构本身执行什么样的操做。有些操作在所有的容器中都会出现,尽管实现各不相同。对所有容器都适用的构造函数包括:
1)默认构造函数;
2)复制构造函数;
3)析构函数;
4)empty();
5) max_size();
6)size();
7)swap();
8)operator=;
9) 6个重载关系的运算符函数(piority_queue容器不适用);
10)begin() 、end()、 rbegin()、 rend()、 erase()、 clear() ,但是stack、queue和priority_queue不适用。
2. 迭代器
迭代器是一个对象,用于引用存储在容器中的元素。因此,它是一个通用指针。迭代器允许访问包含在容器中的信息,所以可以通过,迭代器在这些元素上执行所需要的操作。
其中,stack、queue、priority_queue容器不支持迭代器。
3. 算法
STL提供了大约70个通用函数,称为算法,这些算法能够应用于STL容器和数组。这些算法实现了大多数程序频繁使用的操作,几乎所有的STL算法都使用迭代器来指示操作元素的范围。
使用这些算法需要包含语句:
#include <algorithm>







需要包含:#include <numeric>

4. 函数对象
在C++中,可以像对待其他运算符一样对待函数调用运算符();此运算符也可以重载。()运算符能够返回任何类型,可以使用任何数量的参数,和赋值运算符一样,该运算符只能重载为成员函数。包含函数调用运算符定义的对象称为函数对象。

浙公网安备 33010602011771号