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["first"]= 11; my_map["second"]= 23; mapT::iterator it= my_map.find("first"); if( it != my_map.end() ) std::cout << "A: " << it->second << "\n"; it= my_map.find("third"); if( it != my_map.end() ) std::cout << "B: " << it->second << "\n"; // Accessing a non-existing element creates it if( my_map["third"] == 42 ) std::cout << "Oha!\n"; it= my_map.find("third"); if( it != my_map.end() ) std::cout << "C: " << it->second << "\n"; return 0; }
Output:
A: 11 C: 0