C++ STL中在map或multimap中查找元素

C++ STL中在map或multimap中查找元素

诸如 map 和 multimap 等关联容器都提供了成员函数 find(),它让您能够根据给定的键查找值。
find( )总是返回一个迭代器:
multimap <int, string>::const_iterator pairFound = mapIntToStr.find(key);
您应首先检查该迭代器,确保 find( )已成功,再使用它来访问找到的值:
if (pairFound != mapIntToStr.end())
{
cout << "Key " << pairFound->first << " points to Value: ";
cout << pairFound->second << endl;
}
else
cout << “Sorry, pair with key " << key << " not in map” << endl;
如果您使用的编译器遵循 C++11 标准,可使用关键字 auto 来简化迭代器声明:
auto pairFound = mapIntToStr.find(key);
编译器将根据 map::find( )的返回类型自动推断出迭代器的类型。
程序清单 20.3 演示了 multimap::find()的用法

0: #include <map>
1: #include <iostream>
2: #include <string>
3: using namespace std;
4:
5: 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值