To use any of std::map or std::multimap the header file <map> should be included.
std::map and std::multimap both keep their elements sorted according to the ascending order of keys. In case of std::multimap, no sorting occurs for the values of the same key.
The basic difference between std::map and std::multimap is that the std::map one does not allow duplicate values for the same key where std::multimap does.
Maps are implemented as binary search trees. So search(), insert(), erase() takes Θ(log n) time in average. For constant time operation use std::unordered_map.
size() and empty() functions have Θ(1) time complexity, number of nodes is cached to avoid walking through tree each time these functions are called.