C++ 中map 中迭代器的简单使用:

Posted the_tops ----

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 中map 中迭代器的简单使用:相关的知识,希望对你有一定的参考价值。

public member function
<map>

std::map::find

      iterator find (const key_type& k);
const_iterator find (const key_type& k) const;
Get iterator to element

Searches the container for an element with a key equivalent to k and returns an iterator to it if found, otherwise it returns an iterator to map::end.

Two keys are considered equivalent if the container‘s comparison object returns false reflexively (i.e., no matter the order in which the elements are passed as arguments).

Another member function, map::count, can be used to just check whether a particular key exists.

Parameters

k
Key to be searched for.
Member type key_type is the type of the keys for the elements in the container, defined in map as an alias of its first template parameter (Key).

 

Return value

An iterator to the element, if an element with specified key is found, or map::end otherwise.

If the map object is const-qualified, the function returns a const_iterator. Otherwise, it returns an iterator.

Member types iterator and const_iterator are bidirectional iterator types pointing to elements (of type value_type).
Notice that value_type in map containers is an alias of pair<const key_type, mapped_type>.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 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;

  it = mymap.find(‘b‘);
  if (it != mymap.end())
    mymap.erase (it);

  // print content:
  std::cout << "elements in mymap:" << ‘\n‘;
  std::cout << "a => " << mymap.find(‘a‘)->second << ‘\n‘;
  std::cout << "c => " << mymap.find(‘c‘)->second << ‘\n‘;
  std::cout << "d => " << mymap.find(‘d‘)->second << ‘\n‘;

  return 0;
}



Output:

elements in mymap:
a => 50
c => 150
d => 200

 

以上是关于C++ 中map 中迭代器的简单使用:的主要内容,如果未能解决你的问题,请参考以下文章

c++中列表迭代器的无效使用

c++ STL map

为啥 c++ 顺序访问迭代器的函数签名不使用指针?

c++中迭代器的问题为啥这样会报错?

使用迭代器的最快(最 Pythonic)方式

C++ 的STL中,迭代器那个指针为何++能指向下一个元素?