cppの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;