マップ(map: 連想配列)はキーと値のペアによる順序のあるコレクションである。マップ
は、キーによってソートされる。マップの中のキーはどれもユニークでなければならない。マップには、
キーの型と値の型の両方があり、マップを宣伝する時は両断を指定する必要がある。
マップに要素を追加するには、キーと値を引数として受け取るemplace関数を使う方法が推奨される。
例えば以下のコードでは12月のstd::mapを作るもので、キーは月の番号、値は月名の文字列である。
ただし、この構文が正しく動作するのは、そのキーがマップにある時だけだ。
キーがマップにあるかを判定するには、find関数を使う、これは、もしもあれば、
その要素へのイテレータを返す。
std::mapの実装は、内部的に「平衡2分探索木」(balance binary search tree)を使う。
このため、std::mapがキーによって要素を探すのに、O(log n)の時間を要する(対数時間)。
挿入と削除も、対数時間である。2分探索木を使うので、マップの内容に対するループ処理はキー
の昇順で行う。