Little about Iterator

来源:互联网 发布:淘宝女装2017夏装新款 编辑:程序博客网 时间:2024/05/16 17:00

其实 Iterator 就是 STL 容器中指针,方便我们访问容器内的元素。用法也很简单,下面贴个代码就懂了。

#include<list>int main(){    list<char> myList;    //....//假设此处为给myList,push一些值。    //声明一个list<char> 类型的常迭代器,类似于常指针,不能修改所指向容器的内容。    list<char>::const_iterator ptr;    for(ptr = myList.begin();ptr != myList.end(); ++ptr)        cout<<*ptr;}

有const_iterator ,当然也有 iterator 这个就是可以修改容器的内容的迭代器,声明的方法也跟上面的类似。还有要提到的就是迭代器也是分类的,这里列出主要的两类:
1. 双向迭代器
就是可以使用递增或递减(++、–)运算的迭代器,list、set、multiset、map、multimap这些提供的都是双向迭代器。

2.随机存取迭代器
双向懂了,随机也差不多了,随机跟你平时用的指针的算术运算一致。vector、deque、strings的迭代器都是属于此类型。

最后需要注意的是myList.end()返回的是指向最后一个元素后面一个位置的迭代器。

0 0
原创粉丝点击