设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1017|回复: 4
打印 上一主题 下一主题

[求助]怎样返回当前迭代器的下标?

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-5 01:17:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题。
vector<int> a(10);
vector<int>::const_iterator cit;
.......
cit对应的下标?
2#
发表于 2009-11-5 01:17:15 | 只看该作者
迭代器最好用iterator

.....

int a[5]={2,3,44,56,123};
vector<int> v(a,a+5);
vecotr<int>::iterator iter=v.begin();//迭代器开始访问数组,先指向首

通过循环 for(;iter!=v.end();++iter) 来访问数组各个元素

当然如果你想知道已知元素的位置也可以

iter=find(v.begin(),v.end(),44);// 44在数组中的位置 如果数组中没有44 返回值为v.end()

迭代器很好用的,它是范性编程的实现,再用对应的下标来操作岂不是很多余 你回忆下数组和指针的关系吧 当然用指针操作数组又快又方便了
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-5 01:17:16 | 只看该作者
以下是引用游乐园在2007-4-18 19:18:13的发言:

迭代器最好用iterator

.....

老大,问下,为什么最好用iterator?

const_iterator和iterator不是各有各的作用吗?

能详细说下嘛?
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-5 01:17:17 | 只看该作者
以下是引用aipb2007在2007-4-18 19:30:28的发言:


老大,问下,为什么最好用iterator?

const_iterator和iterator不是各有各的作用吗?

能详细说下嘛?
嗯 说的没错 这些迭代器是各有各的用途

但容器的成员函数的参数里的迭代器都是iterator类型 而不是const_iterator 或reverse_iterator...哦 这就影响到STL的通用了

我也不好长篇大论的讲 毕竟知识有限 建议你看看优秀STL范型编程的条款第26条:

http://stl.winterxy.com/html/item_26.html
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-5 01:17:19 | 只看该作者
谢谢,但是真的没有那样的方法么?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 10:20 , Processed in 0.076825 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表