用于一些特殊的类进行遍历访问所用,类似于一个指针。

以下使用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;
}

发表回复