LINUX.ORG.RU

Если аварийно завершить приложение, может ли произойти утечка памяти?

 ,


0

6

Приветствую всех.
Допустим имеется самописное приложение на С++/Qt.
Может ли произойти утечка памяти, если приложение завершится принудительно (CTRL+C в консоле, в диспетчере задач через завершить процесс)?
Или в этих случаях срабатывает чистильщик мусора и удаляем сам все объекты из динамическом памяти?

Пример:

MyClass *obj = new MyClass;
...
ПРИНУДИТЕЛЬНОЕ ЗАВЕРШЕНИЕ ПРИЛОЖЕНИЯ
...
delete obj;

Есть же RAII, смартпоинтеры и все дела, если говорить про C++ без Qt. 90% проблем с памятью решены.

Meyer ★★★★★
()
Ответ на: комментарий от Meyer

Есть же RAII, смартпоинтеры и все дела

Как это всё связано с принудительным завершением приложения?

UVV ★★★★★
()
Ответ на: комментарий от anonymous

Ничего не вызовется. Просто ядро почистит за вами ресурсы своими методами.

PPP328 ★★★★★
()
Ответ на: комментарий от Meyer

Есть же RAII, смартпоинтеры и все дела, если говорить про C++ без Qt. 90% проблем с памятью решены.

и тут огребаются проблемы со скоростью :-) вообще встаёт вопрос - а нахрена тут C++, вы только что убили его плюшки

ввод в прикладной класс «счётчика ссылок» или «маркера» доступа - это первый звоночек что пора уходить в другой язык или делать рефактор проекта.

MKuznetsov ★★★★★
()
Ответ на: комментарий от Meyer

Есть же RAII, смартпоинтеры и все дела, если говорить про C++ без Qt. 90% проблем с памятью решены.

Речь о креше или убийстве приложения, при чем тут умные указатели?

andreyu ★★★★★
()
Ответ на: комментарий от MKuznetsov

и тут огребаются проблемы со скоростью

Какие проблемы со скоростью у unique_ptr<T>? А какие проблемы со скоростью у RAII?

andreyu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.