Возможный дубликат:
Можно ли использовать "удалить это" для удаления текущего объекта?
Я только что увидел некоторый код, в котором они выполнили delete this;
в функции класса, я знаю, что это не очень хороший дизайн, но он определил, что произойдет, скажем, что класс всегда является указателем откуда-то. Будет ли он всегда удален правильно?
class A
{
public:
void abort() { delete this; }
};
class B
{
void func() { A* a = new A; a->abort(); }
};