请问一下迭代器中的second()是做什么的?

 我来答
A1620921354
2020-04-26 · TA获得超过5813个赞
知道答主
回答量:388
采纳率:100%
帮助的人:16.6万
展开全部

map容器的迭代器里面有first ()和 second(),second是值,用来返回数据。

例如:

map<string, int> m;

m["one"] = 1;

map<string, int>::iterator p = m.begin();

p->first; // 这个是  string  值是 "one"

p->second; //这个是 int 值是 1

std::map<X, Y>实际储存了一串std::pair<const X, Y>,std::map<std::string, int> m = /* fill it */;、auto it = m.begin();

这里,如果你用*it,那么你将得到map第一个元素的std::pair,现在你可以接收std::pair的两个元素:,(*it).first会得到key,(*it).second会得到value,这等同于it->first和it->second。

扩展资料:

Iterator在Collection接口中的使用。

虽然Collection接口的相关类实现了get()方法,但将Iterator用在它们身上仍然是合适的,下面以ArrayList为例,讨论Iterator在Collection中的两中使用方法

1、配合while()循环实现遍历输出:  

ArrayList list = new ArrayList();

Iterator it = list.iterator();

while(it.hasNext()){

System.out.println(it.next());6}

while()中的判断条件it.hasNext()用于判断it中是否还有下一元素,有的话就继续循环,输出语句中的it.next()既可以使“指针”往后走一位,又能将当前的元素返回,用于输出。

2、配合for()循环实现遍历输出:

ArrayList list = new ArrayList();

for(Iterator it = list.iterator();it.hasNext();){

System.out.println(it.next()); }

亚远景信息科技
2024-12-11 广告
上海亚远景信息科技有限公司是国内汽车行业咨询及评估领军机构之一,深耕于ASPICE、敏捷SPICE、ISO26262功能安全、ISO21434车辆网络安全领域,拥有20年以上的行业经验,专精于培训、咨询及评估服务,广受全球车厂及供应商赞誉,... 点击进入详情页
本回答由亚远景信息科技提供
monkeyde17
推荐于2017-11-28 · TA获得超过207个赞
知道答主
回答量:118
采纳率:0%
帮助的人:123万
展开全部
c++ 里面的map容器的迭代器里面 有个first 和 second
例如
map<string, int> m;
m["one"] = 1;

map<string, int>::iterator p = m.begin();
p->first; // 这个是 string 值是 "one"
p->second; //这个是 int 值是 1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
4fn
2012-07-25 · TA获得超过183个赞
知道答主
回答量:59
采纳率:0%
帮助的人:87.6万
展开全部
是std::map的iterator? map里头的元素是std::pair<Type1, Type2>,用first访问std::pair的第一个成员(Type1), second访问第二个成员(Type2)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式