정렬되지 않은 집합 unordered_set<int> theSet;
을 사용하여 많은 수의 정수를 저장할 때 clear() 또는 rehash (0) 호출을 사용해도 메모리가 해제되지 않습니다. 함수에서 집합을 로컬로 정의하고 함수가 예외를 완료하더라도 집합에 의해 예약 된 대부분의 메모리는 여전히 예약되어 있습니다. 어떤 아이디어? 다음은 unordered_set C++
감사
임시 세트 할 수 있습니다swap
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을 사용합니다. – user1785771