STL入门教程
写在前面:博主在学习STL的时候遇到了很多困扰,博主认为其根本原因是因为大多数初学者同笔者一样,急于求成,想尽快实现自己需要的功能,特别是对迭代器了解不深。笔者希望通过这篇文章,让各位读者真正认识STL这个常见、方便而优秀的模板库,也希望这篇博文成为最优秀STL入门教程之一。
STL(Standard Template Library)标准模板库,是惠普实验室开发的一系列软件的统称,关于STL的功能,简单地说,STL给一些复杂的数据结构的实现提供了一种简单的写法。
STL主要包含的三个部i分:
容器:作用是管理数据集合,包括各种数据集合,常用的有<vector>,<list>,<deque>,<set>,<map>。
算法:在<algorithm>中包含了许多非常出色的算法,使用起来十分简洁,例如最常用的sort,以及search,copy,erase
迭代器:迭代器提供了遍历容器的方法,这在后面的重载运算符中会详细描述。
上一段vector容器实现的代码。
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<double> data;
vector<double>::const_iterator i;
data.push_back(5);
data.push_back(2);
data.push_back(1);
for(i = data.begin() ; i != data.end() ; i++) cout << *i << endl;
return 0;
}
其输出为
5
2
1