0
守則:嵌套boost :: unordered_map不更新值?
boost::unordered_map<int, boost::unordered_map<int, float>> map;
{
boost::unordered_map<int, float> h;
h.insert(make_pair(1, 0.5));
map.insert(make_pair(5, h));
}
{
boost::unordered_map<int, float> h = map[5];
h.insert(make_pair(2, 0.6));
map.insert(make_pair(5, h));
}
cout << map[5].size() << endl;
爲什麼輸出是1不是2? 而當我使用boost :: unordered_map *>來代替時,那麼一切運作良好。 任何人都可以幫助我嗎?
確切地說是正確的ans.And我也發現使用map [i] [j]我們可以很容易地做指針一樣的事情。而且在我的簡單測試中,它們的效率相等。所以有什麼區別in([] [],insert,emplace)。我知道如果key存在,最後兩個將不會做任何事情。還有更多的區別? – lhdgriver