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