私には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
これは、GCC、私が欲しいの行動に、少なくとも、です。私はこれに頼ることができますか?スタンダードは、std::unordered_multimap
のものを保管する注文についての説明をしていますか?そうでない場合、最良の選択肢は何ですか?
あなたは[libC++](http://coliru.stacked-crooked.com/a/f8f56abb25674bbe)で 'first 1'を得るでしょう。 –