Deleting objects in the heap with wxWidgets
June 26th, 2008
For private use I often prefer wxWidgets to MFC, even thougth there’s no wide difference except of that wxWidgets runs on almost every platform.
I recently noticed that wxWidgets offers two nice macros wxDELETE and wxDELETEA, which you definitly should prefer using when deleting objects:
#define wxDELETE(p) if ( (p) != NULL ) { delete p; p = NULL; } #define wxDELETEA(p) if ( (p) ) { delete [] (p); p = NULL; }
It deletes pointer if it is not NULL and NULL it afterwards.
It’s not really a smart innovation, but as so many things it saves time and brain cells. According to my opinion it can be regarded as useful when detecting memory leaks because you can easily search your code for those macros.





