Полная версия этой страницы:
Qt и Паттерн синглотон
maxvanceffer
27.3.2011, 11:16
Вот вопрос такой , у меня есть к примеру синглтон унаследованный от QObject и к примеру в конструкторе у него есть такая строчка
QSettings *settings = new QSettings(...,...,this);
Правильно ли вообще такое делать ?
И при удаление синглтона будет ли освобожден обект settings ?
Алексей1153
27.3.2011, 15:45
maxvanceffer, если выделяешь память в конструкторе, то удаляй в деструкторе. Хотя, для синглтона не так критично - утечка памяти будет незаметна, так как при завершении программы эта утечка сразу подчистится системой. Но для порядка нужно удалять ))
Litkevich Yuriy
27.3.2011, 18:24
Цитата(maxvanceffer @ 27.3.2011, 14:16)

Правильно ли вообще такое делать ?
И при удаление синглтона будет ли освобожден обект settings ?
да, удалится он автоматически, т.к. QSettings наследник QObject и родитель указан.
maxvanceffer
30.3.2011, 10:06
Хорошо а вот такой вот вопрос
QMap <QString,QLabel*> map;
map.clear();
Что будет с QLabel* если у них нет родителей. Они так и останутся висеть в памяти ?
Цитата(maxvanceffer @ 30.3.2011, 11:06)

Хорошо а вот такой вот вопрос
QMap <QString,QLabel*> map;
map.clear();
Что будет с QLabel* если у них нет родителей. Они так и останутся висеть в памяти ?
Останутся. Чтобы не остались используй в деструкторе qDeleteAll(map.values())
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.