サイズ 10 のマップがあり、エントリの値を同じキー値で更新したいと考えています。マップにコピーする最速の方法は何ですか? 通常、私は次のことを行っています。
mymap[key] = value;
添字演算子を使用すると、キーが検索され、対応する値への参照が返されます。キーがマップに存在しない場合は、キーをコピーして新しい要素が挿入され、値が構築されます。デフォルトのコンストラクタを安全に使用でき、代わりinsert()
にキーと値のペアを使用できます。
map.insert(std::make_pair(key, value));
重複がある可能性がある場合は、おそらく結果を取得し、オブジェクトが挿入されていない場合は値を更新する必要があります。
10 個の要素の場合std::vector<std::pair<Key, Value>>
、線形検索で を使用した方がおそらく高速であることに注意してください。