2013-09-28 65 views
0

我有一個大小爲10的地圖,我想用相同的鍵值更新條目的值。什麼是複製到地圖的最快方式?通常,我正在做以下事情。C++複製元素到地圖

​​
+0

地圖中沒有兩個鍵是相同的。 –

+0

是的鍵值(即十個不同的鍵)將保持不變,但值會改變。 –

+0

我認爲它的速度一樣快。但是由於你的地圖太小,所以根本不用地圖可能會更快,只是一個關鍵值對的矢量可能會更好。 – john

回答

0

使用下標運算符將搜索該鍵並返回對相應值的引用。如果該鍵不存在於映射中,則插入一個新元素複製該鍵並默認構建該值。您可以安全使用默認的構造函數,而是insert()鍵/值對:

map.insert(std::make_pair(key, value)); 

如果有可能,你可能想捕捉的結果,如果該對象未插入更新值重複。

請注意,對於10個使用std::vector<std::pair<Key, Value>>進行線性搜索的元素可能會更快。