用于一些特殊的类进行遍历访问所用,类似于一个指针。
以下使用vector[向量]进行举例:
如何建立一个迭代器:
list<int>::iterator it;
常用操作,迭代器进行遍历:
for(it = l.begin(); it != l.end(); it++)
其中,l是一个list类型的变量,首先迭代器等于l的首地址然后自加到l的尾地址
PS:在大部分STL中, 尾地址是指向了一个空的元素,所以用!=
对迭代器进行访问:
print(%d, *it);
这表示输出list的内容,迭代器类似于指针,要使用进行取内容操作
PS:因为的运算级别较低,所以在大部分时候要加上括号像(*it) –> first。
完整遍历输出代码
#include <cstdio>
#include <list>
using namespce std;
int main() {
list<int> l;
//省略读入代码
list<int>::iterator it;
for(it = l.begin(); it != l.end(); it++)
printf("%d\n", *it)
return 0;
}