我注意到,当我使用无序集unordered_set<int> theSet;
来保存大量整数时,即使调用 clear() 或 rehash(0),它也不会释放内存。即使我在函数中本地定义了集合,并且函数执行完毕,集合保留的大部分内存仍然保留。有任何想法吗?
下面是一个示例代码,当 tester 函数返回并且我们在 main 中时,tester 使用的内存没有被释放
谢谢
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;
}