8.4. Putting It All Together
A Memory Leak Detector
Memory leaks are like automobile breakdowns; when they happen, nothing runs and they are expensive to repair. Large programs that allocate memory dynamically must free memory periodically to avoid exhausting free store. Applications that neglect to free dynamically allocated memory produce memory leaks. Memory leaks are insidious bugs, since programs may run for an hour, a day, or even longer before they crash or exhibit strange behaviors.
In this section, we overload the global versions of operator new and operator delete to implement a “cheap” memory leak detector. You can apply this detector to programs under development or use it with source code that you suspect might have memory leaks. ...