#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main ()
{
vector<int> v(10,1);//10个1
//begin()操作返回一个迭代器,
//begin()操作返回一个迭代器指向向量中的第一个数据元素,
vector<int>::iterator iter = v.begin();
vector<int>::iterator end = v.end();
while(iter != end)
{
//迭代器实际上就是一个指针
*iter = 9; // 指向迭代器操作的数据,将10变成9,将第一个1改为9,*为*引用 通过迭代器修改数据,
++iter; //用循环将所有的1改为9,
}
iter = v.begin(); //迭代器++是指向第二个数据元素,将更改第二1,
iter = iter + 2;
*iter = 10; //将第三个9改为10,*为*引用
vector<int>::iterator mid = v.begin() + v.size() / 2;
*mid = 66; //将中间那个数改为66,
//for(vector<int>::size_type i = 0; i != v.size(); ++i)
// cout << v[i] << endl; //输出的是一个9,一个10,8个1.
//for(vector<int>::iterator j = v.begin(); j != v.end(); ++j) //点begin()操作是一个迭代器操作指向向量中的第一个元素,点end迭代器是超出末端迭代器,指向最后一个数的下一个
// cout << "迭代器:" << *j << endl; // 循环一次输出一次, 在这里不通过迭代器修改数据,只是读数据,
for(vector<int>::const_iterator j = v.begin(); j != v.end(); ++j) //长迭代器,不能进行修改,只用于读数据,不能用于修改,
cout << "迭代器:" << *j << endl;
return 0;
}
迭代器
最新推荐文章于 2017-02-17 20:39:00 发布