Перевод этой страницы?:

Синтаксис:

    #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;