Предположим, у вас есть объект класса Дурак
.
class Fool
{
int a,b,c;
double* array ;
//...
~Fool()
{
// destroys the array..
delete[] array ;
}
};
Fool *fool = new Fool() ;
Итак, Я знаю, что вы не должны , но какой-то дурак вызывает деструктор на дурак
в любом случае. fool-> ~ Fool ();
.
Означает ли это, что память fool
освобождена (т.е. a, b, c недопустимы) или означает ли это только то, что происходит освобождение памяти в функции ~ Fool ()
(т.е. удаляется только массив?)
Итак, я предполагаю, что мой вопрос, является ли деструктор просто еще одной функцией , который вызывается, когда delete
вызывается для объекта, или делает что-то еще?