Все обьекты новые - это строго? |
Здравствуйте, гость ( Вход | Регистрация )
Все обьекты новые - это строго? |
Гость_Гость_* |
15.5.2009, 23:04
Сообщение
#1
|
Гости |
Есть виджет и QPalette (просто в одной программе, никак не связаны) Виджет использую всю программу, палетку использую в setPalette( const QPalette & ) . setPalette в принципе может быть скопирована в виджет виде ссылки или может быть скопировано ее значение. Ассистант ясности не вносит. Вдруг она содержит хендлы виндусовые и дублирование не желательно. Не ясно нужно ли держать ее дальше или можно разрушить. Решил обьявить статик. Но имею сомнения, если подклется к какомуто обьеку то может деструктироватся 2 раза - первый раз от владельца, второй раз как статический обьект.
Отладчик выдает сообщение при завершении Free Heap block 3da8b8 modified at 3da940 after it was freed если виджет сделать новым сообщение пропадает. А апликэцию во всех примерах создают в стеке |
|
|
Litkevich Yuriy |
15.5.2009, 23:19
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
сделать новым что значит новым?А апликэцию во всех примерах создают в стеке говори на русском языке, многи вопросы сами посебе отпадут.Цитата 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. |
|
|
Гость_Гость_* |
15.5.2009, 23:19
Сообщение
#3
|
Гости |
ЗЫ поглядел QPalette обьектом не является, но вопрос остается и адреса 3da940 какието странные, на куче не такие
|
|
|
ViGOur |
15.5.2009, 23:24
Сообщение
#4
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Ассистант ясности не вносит. Вдруг она содержит хендлы виндусовые и дублирование не желательно. В этом можешь быть уверен, если код работает только под вынь или иксами это оговаривается в асистенте. Если нет, то используй смело. Честно говоря ни разу не попадал...Решил обьявить статик. Но имею сомнения, если подклется к какомуто обьеку то может деструктироватся 2 раза - первый раз от владельца, второй раз как статический обьект. А это совсем не понял, что ты имеешь ввиду. Может пятница потому и не понял? з.ы. и правда, постарайся по возможности грамотно писать, а то глаз режет и замодерировать хочется. Сообщение отредактировал ViGOur - 15.5.2009, 23:26 |
|
|
Гость_Гость_* |
15.5.2009, 23:28
Сообщение
#5
|
Гости |
что значит новым? в куче А апликэцию во всех примерах создают в стеке говори на русском языке, многи вопросы сами посебе отпадут.
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 ее не копирует? |
|
|
Гость_Гость_* |
15.5.2009, 23:30
Сообщение
#6
|
Гости |
|
|
|
Litkevich Yuriy |
16.5.2009, 0:29
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 24.12.2024, 0:36 |