Glossary: Memory Leak

OO programs are dynamic; the objects they consist of are created and destroyed throughout the course of the program execution. Objects require memory to hold their data members. The memory for objects created at execution time comes from the stack or the heap. When objects are destroyed it is essential that the memory that they occupied is recovered. This is automatic for stack based objects, but is left to the application code for heap based objects. Failing to destroy objects correctly by using the delete operator results in memory clogged with dead objects, a phenomenon referred to as a memory leak. Deleting an object more than once can cause a program to crash; objects should only be deleted by their owners. Memory leaks can result when there is no clear owner of an object.
Go Back to the The Glossary Top Page


If you have any comments about this page please send them to Nick West