What are the advantages of the new operator?

1 answer

Answer

1155003

2026-09-07 10:40

+ Follow

The new operator in C++ works in a similar manner to malloc in C, allocating memory from the heap (the free store). However, unlike malloc which returns a void* pointer to uninitialised memory, the new operator returns a pointer of the given type and invokes the appropriate constructor for that type. Moreover, every class of object can overload its new operator to allow construction within memory that has been allocated in advance. That memory is typically allocated through a resource handle (known as an allocator), however we can also override the global new operator if we need to provide our own memory management.

We can still use malloc in C++, however it has no advantages over the new operator and is best avoided in the interests of consistency and, more importantly, type safety. In practice we rarely use the new operator unless we are actually designing our own resource handles or low-level memory allocators. The standard library already provides highly efficient resource handles for the vast majority of our everyday needs, so it is rarely necessary to design our own. Nevertheless, the facility exists for those (very) rare occasions where we really do require "raw" memory.

ReportLike(0ShareFavorite

Copyright © 2026 eLLeNow.com All Rights Reserved.