STL提供三种类型的组件:容器、迭代器和算法
容器的主要有两类:顺序容器和关联容器,顺序容器(vector,list,deque,和string等)是一系列元素的有序集合,关联容器(set,multiset,map和multimap)包含查找元素的键值。
迭代器的作用就是遍历容器。
STL算法库包含四类算法:排序算法、不可变序算法、变序性算法和数值算法。
C++STL泛型编程示例:
用vector向量容器装入10个整数,然后,使用迭代器iterator和accumulate算法统计这10个元素和。
#include<iostream>
#include<vector>
#include<numeric>//accumulate算法需要
using namespace std;
int main()
{
vector<int> v;
//尾部元素扩张方式赋值
for(int i = 0; i < 10; i ++)
v.push_back(i);
//使用iterator迭代器顺序遍历所有元素
for(vector<int>::iterator it = v.begin(); it != v.end(); it ++)
cout<<*it<<" ";//输出迭代器当前位置上的元素值
cout<<endl;
//统计并输出向量所有元素的和
cout<<accumulate(v.begin(), v.end(), 0) <<endl;
return 0;
}