头文件

<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/






Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐