8.2. Class-Specific new and delete

Overloaded operator new and operator delete functions may appear inside class definitions, overriding their global counterparts. Class-specific versions provide a customized interface for allocating and deallocating objects of a given class type. The class-specific formats are the same as the formats listed in Table 8.3 on page 352 and Table 8.4 on page 353.

Here is a typical arrangement with a class that overloads operator new and operator delete as member functions.

 class A { private: . . . public: void *operator new(size_t); // allocate single A object void *operator new[](size_t); // allocate array of A objects void operator delete(void *); // deallocate single A object void operator delete[](void *); // ...

Get Navigating C++ and Object-Oriented Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.