298. ::operator delete[] requirement incorrect/insufficient

Section: [new.delete.array] Status: CD1 Submitter: John A. Pedretti Opened: 2001-01-10 Last modified: 2016-01-28 10:19:27 UTC

Priority: Not Prioritized

View all other issues in [new.delete.array].

View all issues with CD1 status.


The default behavior of operator delete[] described in, p12 - namely that for non-null value of ptr, the operator reclaims storage allocated by the earlier call to the default operator new[] - is not correct in all cases. Since the specified operator new[] default behavior is to call operator new (, p4, p8), which can be replaced, along with operator delete, by the user, to implement their own memory management, the specified default behavior of operator delete[] must be to call operator delete.

Proposed resolution:

Change, p12 from

-12- Default behavior:


-12- Default behavior: Calls operator delete(ptr) or operator delete(ptr, std::nothrow) respectively.

and expunge paragraph 13.