コード:
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;
出力が 2 ではなく 1 になるのはなぜですか? そして、代わりに boost::unordered_map* > を使用すると、すべてがうまく機能します。誰でも私を助けることができますか?