std::map::find
From cppreference.com
iterator find( const Key& key );
|
||
const_iterator find( const Key& key ) const;
|
||
Finds an element with key key
.
Contents |
[edit] Parameters
key | - | key value of the element to search for |
[edit] Return value
Iterator to an element with key key
. If no such element is found, past-the-end (see end()
) iterator is returned.
[edit] Complexity
Logarithmic in the size of the container.
[edit] See also
returns the number of elements matching specific key (public member function) |
|
returns range of elements matching a specific key (public member function) |
[edit] Example
Demonstrates the risk of accessing non-existing elements via operator [].
#include <string> #include <iostream> #include <map> int main() { typedef std::map<std::string,int> mapT; mapT my_map; my_map["x"]= 11; my_map["y"]= 23; mapT::iterator it= my_map.find("x"); if( it != my_map.end() ) std::cout << "A: " << it->second << "\n"; it= my_map.find("z"); if( it != my_map.end() ) std::cout << "B: " << it->second << "\n"; // Accessing a non-existing element creates it if( my_map["z"] == 42 ) std::cout << "Oha!\n"; it= my_map.find("z"); if( it != my_map.end() ) std::cout << "C: " << it->second << "\n"; return 0; }
Output:
A: 11 C: 0