Title
Unneeded deallocation signatures
Status
nad
Section
17.6.3.3 [new.delete.array]
Submitter
Richard Smith

Created on 2014-10-03.00:00:00 last changed 121 months ago

Messages

Date: 2014-11-15.00:00:00

Rationale (November, 2014):

CWG agreed that the performance gain in using the sized-deallocation variants when a constructor throws an exception would be insignificant compared to the cost of the exception handling itself and thus insufficient motivation for changing the core language. The issue was referred to LWG for their consideration regarding removal of these signatures.

Date: 2022-11-20.07:54:16

Paper N3778 added the following two deallocation signatures to the standard library:

   void operator delete(void* ptr, std::size_t size,
                        const std::nothrow_t&) noexcept;
   void operator delete[](void* ptr, std::size_t size,
                          const std::nothrow_t&) noexcept;

The core language does not currently provide for calling these functions; they could only be called as the matching deallocation function when a constructor throws an exception, but the rules for determining the matching deallocation function do not consider the existence of the sized-deallocation variants.

History
Date User Action Args
2014-11-24 00:00:00adminsetmessages: + msg5296
2014-10-03 00:00:00admincreate