[C++] delete this
Можно.
Вот, например, код из atlcom.h
Вот, например, код из atlcom.h
STDMETHOD_(ULONG, Release
{
ULONG l = InternalRelease;
if (l == 0)
delete this;
return l;
}
Пасибо
А вот вопрос: а каков механизм очистки памяти? Этот код работает в многопоточных приложениях?
Честно признаться, просто хочется знать. И где про сие можно прочесть?
Честно признаться, просто хочется знать. И где про сие можно прочесть?
грубо говоря, сначала вызывается деструктор, потом free. Если рантайм многопоточный - все будет работать нормально в многопоточной проге
>грубо говоря, сначала вызывается деструктор, потом free.
Неправда
Неправда

не такая уж и неправда 
Понятно, что оператор delete можно перегрузить, тогда будет вызываться что попросите

Понятно, что оператор delete можно перегрузить, тогда будет вызываться что попросите

потом freeoperator delete потом вызывается. Там может и не быть никакого free, что напишешь то и будет...
Да, верно, я просто немного неправильно представлял себе механизм размещения объектов в памяти...
Всем спасибо!
Всем спасибо!
Оставить комментарий
Sanjaz
Нужно написать метод Release у класса.Можно сделать так?
А то какие-то сомнения мучают.