8.5. Key Point Summary

  • Object storage management overloads or replaces global and class-specific versions of operator new and operator delete.

  • Predeclared operator new() allocates single objects, and operator new[]() allocates arrays of objects. Predeclared operator delete() deallocates single objects, and operator delete[]() deallocates arrays of objects.

  • The predeclared versions of operator new throw exception bad_alloc if the allocation fails. The nothrow versions of operator new return a pointer value 0 if the allocation fails. The nothrow versions require include file directive <new>.

  • Placement with operator new requires <new> and uses static or global buffers, free store, or arenas. Explicit destructor calls release objects that placement ...

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.