Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Qt и Паттерн синглотон
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
maxvanceffer
Вот вопрос такой , у меня есть к примеру синглтон унаследованный от QObject и к примеру в конструкторе у него есть такая строчка

QSettings *settings = new QSettings(...,...,this);

Правильно ли вообще такое делать ?
И при удаление синглтона будет ли освобожден обект settings ?
Алексей1153
maxvanceffer, если выделяешь память в конструкторе, то удаляй в деструкторе. Хотя, для синглтона не так критично - утечка памяти будет незаметна, так как при завершении программы эта утечка сразу подчистится системой. Но для порядка нужно удалять ))
Litkevich Yuriy
Цитата(maxvanceffer @ 27.3.2011, 14:16) *
Правильно ли вообще такое делать ?
И при удаление синглтона будет ли освобожден обект settings ?
да, удалится он автоматически, т.к. QSettings наследник QObject и родитель указан.
maxvanceffer
Хорошо а вот такой вот вопрос
QMap <QString,QLabel*> map;

map.clear();

Что будет с QLabel* если у них нет родителей. Они так и останутся висеть в памяти ?
arial
Цитата(maxvanceffer @ 30.3.2011, 11:06) *
Хорошо а вот такой вот вопрос
QMap <QString,QLabel*> map;

map.clear();

Что будет с QLabel* если у них нет родителей. Они так и останутся висеть в памяти ?

Останутся. Чтобы не остались используй в деструкторе qDeleteAll(map.values())
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.