
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <multimap>
- C++ Library - <queue>
- C++ Library - <priority_queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- The C++ Advanced Library
- C++ Library - <any>
- C++ Library - <barrier>
- C++ Library - <bit>
- C++ Library - <chrono>
- C++ Library - <cinttypes>
- C++ Library - <clocale>
- C++ Library - <condition_variable>
- C++ Library - <coroutine>
- C++ Library - <cstdlib>
- C++ Library - <cstring>
- C++ Library - <cuchar>
- C++ Library - <charconv>
- C++ Library - <cfenv>
- C++ Library - <cmath>
- C++ Library - <ccomplex>
- C++ Library - <expected>
- C++ Library - <format>
- C++ Library - <future>
- C++ Library - <flat_set>
- C++ Library - <flat_map>
- C++ Library - <filesystem>
- C++ Library - <generator>
- C++ Library - <initializer_list>
- C++ Library - <latch>
- C++ Library - <memory_resource>
- C++ Library - <mutex>
- C++ Library - <mdspan>
- C++ Library - <optional>
- C++ Library - <print>
- C++ Library - <ratio>
- C++ Library - <scoped_allocator>
- C++ Library - <semaphore>
- C++ Library - <source_location>
- C++ Library - <span>
- C++ Library - <spanstream>
- C++ Library - <stacktrace>
- C++ Library - <stop_token>
- C++ Library - <syncstream>
- C++ Library - <system_error>
- C++ Library - <string_view>
- C++ Library - <stdatomic>
- C++ Library - <variant>
- C++ STL Library Cheat Sheet
- C++ STL - Cheat Sheet
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ Unordered_map::find() Function
The C++ std::unordered_map::find() function is used to find the element associated with key k and returns an iterator if found, or it find an element with key equivalent to key.
If operation succeeds then methods returns iterator pointing to the element otherwise it returns an iterator pointing the map::end().
Syntax
Following is the syntax of std::unordered_map::find() function.
const_iterator find(const Key& keyval) const;
Parameters
k − It indicates the key value to search for.
Return value
If the specified key is found, then an iterator pointing to the element is returned; otherwise, a past-the-end (map::end()) iterator is returned.
Example 1
In the following example, we are demonstrating the usage of the std::unordered_map::find() function.
#include <iostream> #include <unordered_map> using namespace std; int main(void) { unordered_map<char, int> um = { {'a', 1}, {'b', 2}, {'c', 3}, {'d', 4}, {'e', 5} }; auto it = um.find('d'); cout << "Iterator points to " << it->first << " = " << it->second << endl; return 0; }
Output
If we run the above code it will generate the following output −
Iterator points to d = 4
Example 2
Consider the following example, where we are creating an unordered map that stores 1 to 5 values associated with a to e keys and finding the key/value pairs whose values are even.
#include <iostream> #include <unordered_map> using namespace std; int main(void) { unordered_map<char, int> um = { {'a', 1}, {'b', 2}, {'c', 3}, {'d', 4}, {'e', 5} }; for(auto it = um.begin(); it!=um.end(); ++it){ if(it->second % 2 == 0){ it = um.find(it->first); cout<<it->first<<" = "<<it->second<<endl; } } return 0; }
Output
Let us compile and run the above program, this will produce the following result −
d = 4 b = 2
Example 3
Following is the example, where we are creating an unordered map and taking an input string; if the input key is available in the map, then it returns their key-value pairs, otherwise "not found".
#include <iostream> #include <string> #include <unordered_map> using namespace std; int main () { unordered_map<string,double> mymap = { {"John",55.4}, {"Vaibhav",65.1}, {"Sunny",50.9} }; string input; cout << "who? "; getline (cin,input); auto got = mymap.find (input); if ( got == mymap.end() ) cout << "not found"; else cout << got->first << " is " << got->second; return 0; }
Output
Following is the output when our input is available in the map.
who? Vaibhav Vaibhav is 65.1
Following is the output when our input is not available in the map:
who? Aman not found