Affected subclause: [basic.stc.dynamic.deallocation]
Change:
New usual (non-placement) deallocator
. Rationale:
Required for sized deallocation
. Effect on original feature:
Valid C++ 2011 code could declare a global placement allocation function and
deallocation function as follows:
void* operator new(std::size_t, std::size_t);
void operator delete(void*, std::size_t) noexcept;
In this International Standard, however, the declaration of
operator delete
might match a predefined usual (non-placement)
operator delete (
[basic.stc.dynamic])
. If so, the
program is ill-formed, as it was for class member allocation functions and
deallocation functions (
[expr.new])
.