cppのmap

cppのmapの使い方

タグ map


概要

  • pythonのdictと異なり、二分木によって実装された連想配列
    • そのため、キーのオーダーを設定できる
  • C++17までは、キーが存在するかどうかはイテレータが最後でないかどうかで判定する

キーの判定

map<int, int> m;
if(m.find(key) != m.end()) {
  // キーがあれば
}

値を得る(at関数)

// charをキー、intを値として扱う連想配列
map<char, int> m;
// 挿入
m.insert(make_pair('c', 30));
m.insert(make_pair('a', 10));
m.insert(make_pair('b', 20));

int value = m.at('a'); // キーの値を得る
int value2 = m.at('d'); // 例外が発生する

値を得る(find関数)

map<char, int> m;
m.insert(make_pair('c', 30));
m.insert(make_pair('a', 10));
m.insert(make_pair('b', 20));

cout << m.find('b')->second << endl;

参考