2017-05-12 7 views
1

私はその位置のunordered_map上書き現在のペアの特定の位置に要素を挿入しようとしています。私は次のコードを試しました:unordered_mapの特定の位置に要素を挿入する方法はありますか?

unordered_map<string, string>::iterator it = myMap.begin() + 256; 
myMap.insert(it, newPair); 

これはエラーを残して動作していません。誰でも助けてくれますか?あらかじめありがとうございます。

+0

マップで「キー」を上書きすることはできません。それはその地図を破るだろう。なぜこれが必要ですか? – NathanOliver

+0

ハッシュテーブルの仕組みを理解していますか?おそらくunordered_mapを使う前にそれを見てください。 – DeiDei

+0

私はLZW圧縮アルゴリズムを実装していますが、unordered_mapを使用してstring-binary_codeペアを保存しています。 – Luki

答えて

2

オブジェクトをunordered_mapの特定の位置に挿入することはできません。 unordered_mapは、ハッシュ実装を使用して、すべての共通関数(挿入、削除、検索)に対して一定の時間を達成します。 unordered_mapのキーは常にconstです。変更することはできません。挿入関数のイテレータについては、ヒントです。この値は、操作を最適化するためにコンテナによって使用される場合と使用されない場合があります。

関連する問題