ла она проверяет, Методика отл

Автор admin Пятница, 8 мая 2009 11:32

ла она проверяет, Методика отладки 87 присутствует ли заданный указатель в карте памяти. Если указатель не найден, значит, вы пытаетесь освободить блок, либо отсутствующий в куче, либо уже освобожденный ранее и удаленный из кучи. Переменная activeFlag играет важную роль, потому что мы не хотим обрабатывать операции освобождения памяти, обусловленные завершением работы системы. При вызове MEM_0FF() в конце программы флаг activeFlag становится равным false, и последующие вызовы delete игнорируются (конечно, в обычной программе так делать нельзя, но мы занимаемся поиском утечки памяти в вашем коде, а не отладкой библиотеки). Простоты ради, вся работа версий операторов new и delete для массивов перепоручается их скалярным аналогам. Ниже приведен простой тест, в котором используется система MemCheck: //: C02:MemTest.cpp //{L} MemCheck // Test of MemCheck system #include #i nclude #include #include “MemCheck.h” // Должен включаться последним! using namespace std; class Foo { char* s; public: Foo(const char*s ) { this->s = new char[strlen(s) + 1]; strcpy(this->s. s): } -Foo(


Комментарии закрыты.