Item 50: Understand when it makes sense to replace new and delete(Effective C++)
There are many valid reasons for writing custom versions of new and delete, including improving performance, debugging heap usage errors, and collecting heap usage information.