现在定义一个迭代器:vector<int>::iterator it = a.begin(); it != a.end(); ++it

我想得到当前it指向的是数组中的第几个元素,就是当前数组的下标,请问有什么函数可以实现嘛?... 我想得到当前it指向的是数组中的第几个元素,就是当前数组的下标,请问有什么函数可以实现嘛? 展开
 我来答
aoyang__888
2011-07-26
知道答主
回答量:24
采纳率:0%
帮助的人:5.2万
展开全部
你可以使用if(*it == n)
{num++;}使用num判断是vector的第几个元素。
一般没这么用的vetor的成员函数可以实现你想要的数据
begin() 返回指向map头部的迭代器
clear() 删除所有元素
count() 返回指定元素出现的次数
empty() 如果map为空则返回true
end() 返回指向map末尾的迭代器
equal_range() 返回特殊条目的迭代器对
erase() 删除一个元素
find() 查找一个元素
get_allocator() 返回map的配置器
insert() 插入元素
key_comp() 返回比较元素key的函数
lower_bound() 返回键值>=给定元素的第一个位置
max_size() 返回可以容纳的最大元素个数
rbegin() 返回一个指向map尾部的逆向迭代器
rend() 返回一个指向map头部的逆向迭代器
size() 返回map中元素的个数
swap() 交换两个map
upper_bound() 返回键值>给定元素的第一个位置
value_comp() 返回比较元素value的函数
哪屋阿米豆腐
2011-07-26 · TA获得超过215个赞
知道答主
回答量:52
采纳率:0%
帮助的人:32.8万
展开全部
一种是简单点方法,最简单的方法,迭代器动的时候,sum++放在循环里,返回sum就好了,sum 的类型可以是size_t 或者int也行。
追问
我的意思是这个it有没有一个函数可以得到当前元素在数组中的位置,也就是有没有一个定位函数。
追答
应该是没有的,可以返回iterator  const_iterator  实在不行就和begin()相减吧。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友34ea49a
2011-07-26 · TA获得超过894个赞
知道小有建树答主
回答量:297
采纳率:100%
帮助的人:396万
展开全部
it - a.begin() 得到一个 difference_type (signed integral type),由vector<int>决定
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yql0105
2011-07-26 · TA获得超过730个赞
知道答主
回答量:150
采纳率:100%
帮助的人:220万
展开全部
it-a.begin()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
x68251
2011-07-26 · TA获得超过602个赞
知道小有建树答主
回答量:470
采纳率:0%
帮助的人:275万
展开全部
it - a.begin();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式