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;
}

Все эти части кода были скомпилированы в MS VS2010 в режиме отладки. То, что я видел в моем диспетчере задач, было около 1200 КБ «чистого» процесса, но после заполненияhash_map он использует 8124 КБ памяти. Это нормальное поведениеunordered_map? Почему так много памяти используется?

Ответы на вопрос(3)

Ваш ответ на вопрос