
- The C Standard Library
- The C Standard Library
- The C++ Standard Library
- 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 - <queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ Unordered_map Library - emplace_hint() Function
Description
The C++ function std::unordered_map::emplace_hint() inserts a new element in unordered_map using hint as a position for element.
Declaration
Following is the declaration for std::unordered_map::emplace_hint() function form std::unordered_map header.
C++11
template <class... Args> iterator emplace_hint(const_iterator position, Args&&... args);
Parameters
position − Hint for the position to insert element.
args − Arguments forwarded to construct the new element.
Return value
Returns an iterator to the newly inserted element. If insertion fails because of already existing element, it returns iterator to the existing element.
Time complexity
Constant i.e. O(1) in average case.
Linear i.e. O(n) in worst case.
Example
The following example shows the usage of std::unordered_map::emplace_hint() function.
#include <iostream> #include <unordered_map> using namespace std; int main(void) { unordered_map<char, int> um = { {'b', 2}, {'c', 3}, {'d', 4}, }; um.emplace_hint(um.end(), 'e', 5); um.emplace_hint(um.begin(), 'a', 1); cout << "Unordered map contains following elements" << endl; for (auto it = um.cbegin(); it != um.cend(); ++it) cout << it->first << " = " << it->second << endl; return 0; }
Let us compile and run the above program, this will produce the following result −
Unordered map contains following elements a = 1 e = 5 d = 4 b = 2 c = 3
unordered_map.htm
Advertisements