为了账号安全,请及时绑定邮箱和手机立即绑定

对c++ 中Iterator的疑惑

对c++ 中Iterator的疑惑

开心每一天1111 2019-03-02 03:03:19
对c++ 中Iterator的疑惑
查看完整描述

2 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超2个赞

Iterator是访问器,类似与指针,具有指针相似的功能,访问器最重要的是给所有容器提供了一个通用的访问方法,Iterator是模板类,比如有个vector
std::vector<int> vec;
//元素操作之类的
std::vector<int>::iterator it=vec.begin();
while(it!=vec.end())
{//do something}
STL可以得到源代码,比如VC中有部分源代码,GCC代码实现比较好阅读,还有STL port项目之类的

查看完整回答
反对 回复 2019-03-09
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

int a[10]={1,2,3,4,5,6,7,8,9,10};
vector<int> v(a,a+9); //用数组初始化vector容器(a数组首指针,a+10数组尾指针的下一位)
vector<int>:: iterator it=v.begin(); //it是迭代器,指向v的第一个元素,相当于首指针
//begin()是vector自带的函数,返回指向第一个元素的迭代器
cout<<*it; //会输出1
it++; //迭代器自增,向后移动一个单位,结果是指向第二个元素
cout<<*it;//会输出2

//下面看一个输出容器全部元素的循环
for(vector<int>:: iterator it=v.begin();it!=v.end();++it){ //end()返回迭代器,指向最后一个元素的下一位
cout<<*it;
}

 



查看完整回答
反对 回复 2019-03-09
  • 2 回答
  • 0 关注
  • 636 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信