Предположение, что у меня есть ~MyClass()
public:
MyClass();
~MyClass();
private:
map<int,string> m_colNameMap;
MyClass::~MyClass()
{
}
Поскольку я знал, что m_colNameMap
будет автоматически освобождать память, но мне интересно, что после выхода из деструктора вся память была освобождена для ОС?или процесс выпуска действует за }
?
Если я поставлю контрольную точку mem следующим образом:
_CrtMemState crtMemState;
_CrtMemState s1;
_CrtMemState s2
MyClass(){
_CrtMemCheckpoint(&s1);
}
MyClass::~MyClass()
{
_CrtMemCheckpoint(&s2);
if (_CrtMemDifference(&crtMemState, &s1, &s2)) {
_CrtMemDumpStatistics(&crtMemState);
_CrtDumpMemoryLeaks();
}
}
Это правильный путь?