迭代器

#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;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值