void operator delete(void*) {}
void operator delete(void* p, void*) {}
Это пользовательские функции освобождения. Функция дезадаптации вызывается посредством выражения delete
. Например.
YourClass* p = new YourClass(); // Allocates memory & calls constructor
// ... whatever, then
delete p; // Calls destructor & deallocates memory
Для вашего класса delete
выражения в последней строке выше будет первым вызывать деструктор, и тогда было бы назвать одного void*
аргумента функции открепления, который определяет класс, первый из двух функций, если что освобождение доступно.
Однако, возможно, функция освобождения объявлена как private
или protected
с целью сделать ее недоступной. В первом случае выражение delete
вне собственного кода класса не будет компилироваться (недоступная функция освобождения). И если так, то это может быть весь смысл - или, не удивляйтесь, если нет никакого смысла.
Кстати, взгляните на this tutorial. Это, по-видимому, наименее плохое введение в C++ в сети. Электронная книга Брюса Экеля "Thinking in C++" также бесплатна, но в ней есть некоторые ошибки и дезинформация (раньше это было наоборот, хотя учебник на cplusplus.com был очень плохим, один раз).
Приветствия & НТН.,
У вас есть возможность вызвать вторую перегрузку с помощью выражения delete? – Chubsdad
его не перегружать .. его преодоление .. на самом деле я не понял эти две функции – Model
Один вопрос: почему? Разработать; чего вы пытаетесь достичь? Если вам требуется специальное поведение, когда ваш класс освобожден, напишите деструктор. – Ashe