
- 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
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
C++ Unordered_map Library - emplace() Function
Description
The C++ function std::unordered_map::emplace() extends container by inserting new element.
insertion takes place only and only if key is not present already.
Declaration
Following is the declaration for std::unordered_map::emplace() function form std::unordered_map header.
C++11
template <class... Args> pair<iterator, bool> emplace ( Args&&... args );
Parameters
args − Arguments to forward to the constructor of the element.
Return value
Returns a pair consisting of bool to indicate whether insertion is happened or not and returns an iterator to the newly inserted 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() function.
#include <iostream> #include <unordered_map> using namespace std; int main(void) { unordered_map<char, int> um; um.emplace('a', 1); um.emplace('b', 2); um.emplace('c', 3); um.emplace('d', 4); um.emplace('e', 5); cout << "Unordered map contains following elements" << endl; for (auto it = um.begin(); it != um.end(); ++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 e = 5 d = 4 c = 3 b = 2 a = 1
unordered_map.htm
Advertisements