Синтаксис:
#include <map> map(); map( const map& m ); map( input_iterator start, input_iterator end ); map( input_iterator start, input_iterator end, const key_compare& cmp ); explicit map( const key_compare& cmp ); ~map();
Конструктор по умолчанию не принимает аргументов, он создает новый экземпляр карты, и выполняется в константное время. Конструктор копирования по умолчанию выполняется линейное время и используется для создания новых карт, являющихся копией данной карты m.
Так же можно создать карту, которая будет содержать копии элементов между началом и концом, или результат сравнения функции cmp.
Деструктор по умолчанию исползуется тогда, когда карта должна быть удалена.
Например, следующий код создаёт карту, которая ассоциирует строки числам типа int:
struct strCmp { bool operator()( const char* s1, const char* s2 ) const { return strcmp( s1, s2 ) < 0; } }; ... const char *father = "Homer"; const char *mother = "Marge"; const char *kid1 = "Lisa"; const char *kid2 = "Maggie"; const char *kid3 = "Bart"; map<const char*, int, strCmp> ages; ages[father] = 38; ages[mother] = 37; ages[kid1] = 8; ages[kid2] = 1; ages[kid3] = 11; cout << "Bart is " << ages[kid3] << " years old" << endl;