Memory Management: Overloading Operator new and delete 2

In this lesson, we will refine the strategy for overloading operators new and delete.

What were the not-so-nice properties of the previous lesson?

Firstly, we only get a hint of which memory was lost. Secondly, we had to prepare the whole bookkeeping of memory management at compile time. In this lesson, we aim to overcome these shortcomings.

Who is the Bad Guy?

Special tasks call for special strategies. We must use a small macro for debugging purposes.

Let’s take a look at this macro. #define new new(__FILE__, __LINE__)

The macro causes each new call to be mapped onto the overloaded new call. This overloaded new call also receives the name of the file and the line number respectively. That is exactly the information we need to solve this problem.

So, what will happen if we use the macro in line 6?

Get hands-on with 1200+ tech skills courses.