c++ iterator 是什么意思
2 回答
梦里花落0921
TA贡献1772条经验 获得超5个赞
迭代器
list<int> lst;
for(list<int>::iterator i = lst.begin(); i != lst.end(); i++)
printf("%d", *i);
iterator本质就是一个指针,和下面类似
char s[] = "hello";
for(char* p = s; *p != '\0'; p++) printf("%c", *p);
慕容森
TA贡献1853条经验 获得超18个赞
iterator是一种抽象,用来封装对数据结构的遍历操作。比如你可以在不用知道数据结构实现的情况下,调用iterator来遍历。这样,我们可以用同一函数来对不同的数据结构进行遍历,因为函数只操作迭代器,不与具体的数据结构直接耦合。
比如STL中find算法,可以用于任何支持输入迭代器(Input iterator category)的数据结构,我们可以将vector::iterator,list::iterator,map::iterator等传递给find,而这些iterator的实现显然依赖于具体的数据结构,并且有很大差异。
当然其他语言中也有iterator的概念,比如java,C#,python。
- 2 回答
- 0 关注
- 1049 浏览
添加回答
举报
0/150
提交
取消