![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Remiznik |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: нет Всего: 1 |
тут в одной теме Любитель написал
то есть
так хотелось бы узнать в чём утечка ? ну создаём мы его динамически но один раз же ? извените что если совсем ламерский вопр ... но очень интересно узнать ! |
||||
|
|||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 4 Всего: 91 |
Скорее всего он имел ввиду другие ситуации и правила хорошего тона программирования. Конкретно для этого примера это не существенно. На худой конец для таких окон есть аттрибут Qt::WA_DeleteOnClose, но вот с QObject'ами у которых нет родителя так не получится. Разве что контролировать создание и уничтожение объектов через QObjectCleanupHandler.
|
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Ты к тому, что память будет освобождена при завершении работы приложения? Да, будет. Но: 1. Зачем привыкать к плохому ![]() 2. Есть ещё деструктор, который в данном случае не выполнится. А деструктор может освобождать и персистентные (относительно процесса приложения) ресурсы. Да - если строго подходить к вопросу, то конкретно в твоём случае ничего бы не случилось. Но в любом случае это отвратительная практика. PS Remiznik, тебя интересовал вопрос именно в свете Qt-шных особенностей? А то перенесу в "Общие вопросы".. ![]() |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
MAKCim, давай
![]() На всякий случай, что я имел ввиду под "плохим" - допустим, это выделение памяти и пр. (короче грубо говоря половину текущего мейна) мы переносим в другую функцию. Которую вызываем периодически в нашем приложении. Обычно развитие проекта, когда старая функциональность стала лишь частью новой. Только прямой рефакторинг окажется неудачным, именно потому что приведёт к мемори-ликам в чистом виде ![]() |
|||
|
||||
Remiznik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: нет Всего: 1 |
Любитель, да это я спросил так чтоб узнать почему ты в той теме так написал а флудить там не хотелось !
Ну а вобше процесс утечки памяти в приложениях с использованием имеет Qt особую специфику или такуюже как в простом С++ ? Просто я пока не работал с большим приложением чтоб сталкнутся с утечкой и опыт ешо маловат чтоб за этим следить .... но разобираться в это как я понимаю необходимо ! |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
кто мешает добавить освобождение ресурсов после вызова функции? а если ресурсы локальны по отношению к функции, то это ошибка, т. к все локальные ресурсы должны быть освобождены при выходе из функции (в большинстве не специфичных случаев) -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
Любитель |
|
||||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Вообщем-то нет. Есть концепция парент-чайлдов, но эта концепция не в Qt придумана и особого отношения к Qt не имеет. А зачем вообще делать себе проблемы, если можно (да-да, конечно, если) обойтись без динамического выделения памяти?
Смотрим код в первом посте ![]() Собственно про это я и хотел в первую очередь услышать от тебя. Только поподробней.. ![]() |
||||
|
|||||
J0ker |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 4 Всего: 14 |
разные кучи в случае функции в dll |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |