Для глобальных operator new
и operator delete
на самом деле это ни перегрузка, ни переопределение. Программе разрешено заменять определения по умолчанию, предоставляемые реализацией, на свои собственные определения. Стандарт C ++ гласит (§3.7.3 / 2):
Библиотека предоставляет определения по умолчанию для глобальных функций выделения и освобождения. Некоторые глобальные функции распределения и освобождения являются заменяемыми (18.4.1). Программа на C ++ должна содержать не более одного определения заменяемой функции выделения или освобождения. Любое такое определение функции заменяет версию по умолчанию, предоставленную в библиотеке (17.4.3.4).
Для класса operator new
или operator delete
операторы перегружены .