В моей функции С++ main
, например, если бы у меня был указатель на переменную, которая использует кучную память (в отличие от памяти стека) - автоматически ли она освобождается после выхода моего приложения? Я бы так предположил.
Тем не менее, хорошо ли всегда удалять распределения кучи, даже если вы считаете, что они никогда не будут использоваться в ситуации, когда память автоматически освобождается при выходе?
Например, есть ли смысл в этом?
int main(...)
{
A* a = new A();
a->DoSomething();
delete a;
return 0;
}
Я думал, может быть, если я реорганизую (или кто-то другой рефакторинг) этот код и помещает его в другое место в приложении, где delete
действительно необходимо.
Как и ответ Брайана Р. Бонди (который говорит конкретно о последствиях на С++), Пол Томблин также имеет хороший ответ на вопрос, связанный с C), который также говорит о деструкторе С++.