Наиболее важной дополнительной функциональностью для размещения новой перегрузки будет проверка выравнивания адресов.
Например, предположим, что для некоторого класса требуется выравнивание по 16 байтов.Разработчик перегружает new, new [], delete и delete [] - просто чтобы убедиться, что все выровнено правильно.
Все отлично работает до того момента, когда он пытается использовать свой класс с библиотекой, которая использует размещение new ..Библиотека не имеет представления, требуется ли / какое выравнивание для класса, и адрес, который она пытается «разместить», объект не должен быть выровнен - большой бум.
Самый простой пример такой ситуации - попробуйте использовать std:: vector , где T требует нестандартного выравнивания.
Перегрузка для размещения new позволяет обнаружить, если указатель не выровнен - может сэкономить часы отладки.