crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Все обьекты новые - это строго?
Гость_Гость_*
сообщение 15.5.2009, 23:04
Сообщение #1





Гости








    


Есть виджет и QPalette (просто в одной программе, никак не связаны) Виджет использую всю программу, палетку использую в setPalette( const QPalette & ) . setPalette в принципе может быть скопирована в виджет виде ссылки или может быть скопировано ее значение. Ассистант ясности не вносит. Вдруг она содержит хендлы виндусовые и дублирование не желательно. Не ясно нужно ли держать ее дальше или можно разрушить. Решил обьявить статик. Но имею сомнения, если подклется к какомуто обьеку то может деструктироватся 2 раза - первый раз от владельца, второй раз как статический обьект.

Отладчик выдает сообщение при завершении Free Heap block 3da8b8 modified at 3da940 after it was freed если виджет сделать новым сообщение пропадает.

А апликэцию во всех примерах создают в стеке
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Гость_Гость_*
сообщение 15.5.2009, 23:28
Сообщение #2





Гости








    


Цитата(Litkevich Yuriy @ 15.5.2009, 23:19) *
что значит новым?

в куче
Цитата(Litkevich Yuriy @ 15.5.2009, 23:19) *
А апликэцию во всех примерах создают в стеке
говори на русском языке, многи вопросы сами посебе отпадут.

 int main(int argc, char **argv)
{  QApplication app(argc, argv, useGUI);
     return app.exec();
}



Цитата(Litkevich Yuriy @ 15.5.2009, 23:19) *
You can copy a palette using the copy constructor and test to see if two palettes are identical using isCopyOf().
QPalette is optimized by the use of implicit sharing, so it is very efficient to pass QPalette objects as arguments.

Значит нужно хранить? QWidget ее не копирует?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 13:32