C++ 迭代器

来源:互联网 发布:域名 知识产权 编辑:程序博客网 时间:2024/06/07 04:03


迭代器(iterator)是一种检查容器内元素并遍历元素的数据类型。每种容器都定义了自己的迭代器,如(vector)。

#include<iostream>#include<vector>using namespace std;int main(){vector<int> vt(10.4);vector<int>::iterator iter = vt.begin();//begin()操作返回一个迭代器,指向第一个元素数据//迭代器实际上是一个指针 *iter = 5;iter ++;*iter = 6;for(vector<int>::iterator x = vt.begin();x != vt.end();x ++){//end()是指向最后一个元素的下一个元素 cout << *x << endl;}return 0;}

const_iterator只能读取容器中的元素,而不能修改。

vector<int>::const_iterator iter = vt.begin();*iter = 5;iter ++;*iter = 6;

如果改为这样就错了,因为咱们需要修改iter的值。

for(vector<int>::const_iterator x = vt.begin();x != vt.end();x ++){      cout << *x << endl;}

一般的,我们习惯这样写,因为这时候程序只读不修改。

虽然看似上面写的复杂,不如如下简单:

for(vector<int>::size_type x = 0;x != vt.size();x ++){cout << vt[x] << endl;}

但是,不是每个容器都能这样写,而迭代器,每个容器都有,所以,迭代器是非常重要的。


原创粉丝点击