C++ Map Library - map() Function
Description
The C++ constructor std::map::map() constructs a map with as many elements as in range of first to last.
Declaration
Following is the declaration for std::map::map() constructor form std::map header.
C++98
template <class InputIterator>
map (InputIterator first, InputIterator last,
const key_compare& comp = key_compare(),
const allocator_type& alloc = allocator_type());
C++11
template <class InputIterator>
map (InputIterator first, InputIterator last,
const key_compare& comp = key_compare(),
const allocator_type& = allocator_type());
Parameters
first − Input iterator to initial position.
last − Input iterator to final position.
comp − A binary predicate, which takes two key arguments and returns true if first argument goes before second otherwise false. By default it uses less<key_type> predicate.
alloc − The allocator object.
Return value
Constructor never returns value.
Exceptions
This member function never throws exception.
Time complexity
Linear i.e. O(n)
Example
The following example shows the usage of std::map::map() constructor.
#include <iostream>
#include <map>
using namespace std;
int main(void) {
map<char, int> m1 = {
{'a', 1},
{'b', 2},
{'c', 3},
{'d', 4},
{'e', 5}
};
map<char, int> m2(m1.begin(), m1.end());
cout << "Map contains following elements" << endl;
for (auto it = m2.begin(); it != m2.end(); ++it)
cout << it->first << " = " << it->second << endl;
return 0;
}
Let us compile and run the above program, this will produce the following result −
Map contains following elements a = 1 b = 2 c = 3 d = 4 e = 5
map.htm