Код:
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 *>, тогда все работает хорошо.
Кто-нибудь может мне помочь?