Since map is a dynamic container , the memory for its elements is dynamically allocated (whatever that means (it depends on the configurable allocator)!).
In addition, map is a container node , so each element goes into a separate selection (to allow the maximum iterator and the invalidity of the link). Elements are almost certainly not in contact in memory and are probably scattered, which reflects how you added them.
In practice, the map will be implemented as some type of balanced tree to achieve a logarithmic search, insertion and deletion times.
(If you need a data structure with adjacent storage and logarithmic search time, consider a sorted vector.)
Kerrek SB
source share