我有一個std::unordered_multimap
,我想獲得特定鍵的最後插入的元素。我觀察到了這種現象:我可以依賴無序映射的順序嗎?
#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main() {
unordered_multimap<string, string> mmap;
mmap.emplace("a", "first");
mmap.emplace("a", "second");
mmap.emplace("a", "last");
mmap.emplace("b", "1");
mmap.emplace("b", "2");
mmap.emplace("b", "3");
auto last_a = mmap.equal_range("a").first;
auto last_b = mmap.equal_range("b").first;
cout << last_a->second << endl;
cout << last_b->second << endl;
return 0;
}
此代碼輸出:
last
3
這是,至少,在海灣合作委員會的行爲我想。我可以依靠這個嗎?這個標準是否會說明有關std::unordered_multimap
商店的訂單?如果不是,那麼最好的選擇是什麼?
您將獲得'first 1'[libC++](http://coliru.stacked-crooked.com/a/f8f56abb25674bbe)。 –