| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > утечка памяти ? |
| Автор: Remiznik 7.4.2009, 23:11 | ||||
тут в одной теме Любитель написал
то есть
так хотелось бы узнать в чём утечка ? ну создаём мы его динамически но один раз же ? извените что если совсем ламерский вопр ... но очень интересно узнать ! |
| Автор: SABROG 8.4.2009, 08:21 |
| Скорее всего он имел ввиду другие ситуации и правила хорошего тона программирования. Конкретно для этого примера это не существенно. На худой конец для таких окон есть аттрибут Qt::WA_DeleteOnClose, но вот с QObject'ами у которых нет родителя так не получится. Разве что контролировать создание и уничтожение объектов через QObjectCleanupHandler. |
| Автор: MAKCim 8.4.2009, 20:30 |
здесь можно поспорить |
| Автор: Любитель 8.4.2009, 20:39 |
| MAKCim, давай На всякий случай, что я имел ввиду под "плохим" - допустим, это выделение памяти и пр. (короче грубо говоря половину текущего мейна) мы переносим в другую функцию. Которую вызываем периодически в нашем приложении. Обычно развитие проекта, когда старая функциональность стала лишь частью новой. Только прямой рефакторинг окажется неудачным, именно потому что приведёт к мемори-ликам в чистом виде |
| Автор: Remiznik 8.4.2009, 21:20 |
| Любитель, да это я спросил так чтоб узнать почему ты в той теме так написал а флудить там не хотелось ! Ну а вобше процесс утечки памяти в приложениях с использованием имеет Qt особую специфику или такуюже как в простом С++ ? Просто я пока не работал с большим приложением чтоб сталкнутся с утечкой и опыт ешо маловат чтоб за этим следить .... но разобираться в это как я понимаю необходимо ! |
| Автор: MAKCim 8.4.2009, 21:25 | ||
кто мешает добавить освобождение ресурсов после вызова функции? а если ресурсы локальны по отношению к функции, то это ошибка, т. к все локальные ресурсы должны быть освобождены при выходе из функции (в большинстве не специфичных случаев) |
| Автор: Любитель 8.4.2009, 21:34 | ||||
Вообщем-то нет. Есть концепция парент-чайлдов, но эта концепция не в Qt придумана и особого отношения к Qt не имеет. А зачем вообще делать себе проблемы, если можно (да-да, конечно, если) обойтись без динамического выделения памяти?
Смотрим код в первом посте Собственно про это я и хотел в первую очередь услышать от тебя. Только поподробней.. |
| Автор: J0ker 8.4.2009, 22:23 | ||
разные кучи в случае функции в dll |