Я только заметил, что указатели, переданные в delete
, могут быть const
квалифицированными, а те, которые переданы в free
, не могут. Это действительно сюрприз для меня.
И в С++ перегрузка на operator delete
должна иметь подпись, например:
void operator delete(void* p);
Но добавление указателя const
к указателю параметра недействительно:
void operator delete(void const* p);
Может кто-нибудь сказать мне, почему delete
разработан таким образом?