头文件
<map>
声明
iterator find(const key_type &k);
const_iterator find(const key_type& k) const;
获取元素的迭代。
在一个map容器中搜索索引k对应的键值key,若找到索引k值,则返回它对应的键值,否则,返回map::end。
若容器的对比对象返回false,则认为两个键值相等(与元素参数传入的顺序无关)。
另外个成员函数就是map::count,用于检测某个键值是否存在。
参数
k
要搜索的键。
成员类型key_type为容器中元素的键值类型。由map定义时的第一个模板参数指定。
返回值
若找到指定键值的元素,则返回一个指向元素的迭代。否则返回map::end.
若map对象指定为const,则函数返回const_iterator。否则,返回iterator。
成员类型iterator和const_iterator为指向元素的双向迭代类型。
注意map容器中的value_type为pair<const key_type, mapped_type>的一个别名。
实例:
// map::find
#include <iostream>
#include <map>
int main ()
{
std::map<char,int> mymap;
std::map<char,int>::iterator it;
mymap['a']=50;
mymap['b']=100;
mymap['c']=150;
mymap['d']=200;
char x= 'a';
it = mymap.find('b');
if (it != mymap.end())
mymap.erase (it);
// print content:
std::cout << "elements in mymap:" << '\n';
std::cout << "a => " << mymap.find(x)->second << '\n';
std::cout << "c => " << mymap.find('c')->second << '\n';
std::cout << "d => " << mymap.find('d')->second << '\n';
getchar();
return 0;
}
效果:
参考网页:http://www.cplusplus.com/reference/map/map/find/