相关疑难解决方法(0)

std :: unordered_map非常高的内存使用率

昨天我试图使用std::unordered_map,这段代码混淆了我使用了多少内存.

typedef list<string> entityId_list;
struct tile_content {
   char cost;
   entityId_list entities;
};
unordered_map<int, tile_content> hash_map;

for (size_t i = 0; i < 19200; i++) {
   tile_content t;
   t.cost = 1;
   map[i] = t;
}
Run Code Online (Sandbox Code Playgroud)

所有这些代码部分都是在MS VS2010中以调试模式编译的.我在任务管理器中看到的是大约1200 kb的"干净"过程,但填充后hash_map它使用了8124 kb的内存.这是正常的行为unordered_map吗?为什么要使用这么多内存?

c++ unordered-map visual-c++

7
推荐指数
3
解决办法
9809
查看次数

标签 统计

c++ ×1

unordered-map ×1

visual-c++ ×1