1、迭代器(iterators)概念
(1)迭代器是一种抽象的设计概念,其定义为:提供一种方法,使他能够按顺序遍历某个聚合体(容器)所包含的所有元素,但又不需要暴露该容器的内部表现方式。
(2)迭代器是一种行为类似智能指针的对象, 而指针最常见的行为就是内 容提领和成员 访问。 因此迭代器最重要的行为就是对operator*和operator->进行重载。
(3)STL的中心思想在于: 将数据容器和算法分开, 彼此独立设计, 最后再以一贴胶合剂( iterator) 将它们撮合在一起。STL的迭代器是一个可遍历STL容器全部或者部分数据。
2、迭代器的使用
以list和vector为例说明
1 #include<iostream> 2 #include<vector> 3 #include<list> 4 #include<algorithm> 5 #include<string> 6 using namespace std; 7 void Test1() 8 { 9 vector<int>v1;10 v1. push_back(5) ;11 v1. push_back(4) ;12 v1. push_back(3) ;13 v1. push_back(2) ;14 v1. push_back(1) ;15 //迭代器遍历顺序表16 vector<int>: : iteratorit=v1. begin() ;17 for(; it! =v1. end() ; ++it)18 {19 cout<<*it<<" ";20 }21 cout<