Я заметил, что когда я использую неупорядоченный набор unordered_set<int> theSet;
для хранения большого количества целых чисел, он не освобождает память даже при вызовах clear() или переосмысливания (0). Даже если я определил множество локально в функции, а функция завершила выполнение, большая часть памяти, зарезервированной набором, по-прежнему сохраняется. Есть идеи?unordered_set C++
Ниже приведен пример кода, когда функция возвращает тестер и мы в основном, память используется тестер не освобождается
Благодарности
using namespace std;
using std::tr1::unordered_set;
void tester() {
mySet.rehash(x);
for (int i = 0; i < 10000000; i++)
mySet.insert(i);
mySet.clear();
}
int main() {
tester();
return 0;
}
Как вы измеряете потребление памяти? – NPE
Этот вид вопроса должен иметь фрагмент кода, прилагаемый для воспроизведения поведения. – mfontanini
Я использую top на unix – user1785771