) { delete [] s: } }: int main

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

) { delete [] s: } }: int mainO { MEM_0N(); cout « “hello\n”: int* p = new int; delete p; int* q = new int[3]; delete [] q: int* г; delete r; vector v; v.push_back(l); Foo s(“goodbye”): MEM_0FF(); } ///:- Этот пример доказывает, что система MemCheck может использоваться с потоками, стандартными контейнерами и классами, выделяющими память в конструкторах. Память по указателям р и q выделяется и освобождается без проблем, но г не является действительным указателем на память в куче, поэтому в выходных данных включается сообщение об ошибке освобождения неизвестного указателя: hello Allocated 4 bytes at address 0xa010778 (file: memtest.cpp. line: 25) Deleted memory at address 0xa010778 Allocated 12 bytes at address 0xa010778 (file: memtest.cpp. line: 27) Deleted memory at address 0xa010778 Attempt to delete unknown pointer: 0×1 Allocated 8 bytes at address 0xa0108c0 (file: memtest.cpp. line: 14) 88 Глава 2 • Защитное программирование Deleted memory at address 0xa0108c0 No user memory leaks! Из-за вызова MEM_0FF() последующие вызовы функций operator delete() из объектов vector и ostream не обрабатываютс


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