新微赢技术网
标题:
[求助]怎样返回当前迭代器的下标?
[打印本页]
作者:
jane
时间:
2009-11-5 01:17
标题:
[求助]怎样返回当前迭代器的下标?
如题。
vector<int> a(10);
vector<int>::const_iterator cit;
.......
cit对应的下标?
作者:
残恋思香
时间:
2009-11-5 01:17
迭代器最好用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()
迭代器很好用的,它是范性编程的实现,再用对应的下标来操作岂不是很多余 你回忆下数组和指针的关系吧 当然用指针操作数组又快又方便了
作者:
凤蔷¤蹁跹
时间:
2009-11-5 01:17
以下是引用游乐园在2007-4-18 19:18:13的发言:
迭代器最好用iterator
.....
老大,问下,为什么最好用iterator?
const_iterator和iterator不是各有各的作用吗?
能详细说下嘛?
作者:
天使替我爱你
时间:
2009-11-5 01: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
作者:
DJ爱有多痛DJ
时间:
2009-11-5 01:17
谢谢,但是真的没有那样的方法么?
欢迎光临 新微赢技术网 (http://bbs.weiying.cn/)
Powered by Discuz! X3.2