Время жизни объекта |
Здравствуйте, гость ( Вход | Регистрация )
Время жизни объекта |
xbarmaglot |
11.9.2012, 19:40
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 29.8.2012 Пользователь №: 3502 Спасибо сказали: 0 раз(а) Репутация: 0 |
Есть объект, который реализует всю возложенную на него логику.
Ее хотелось побить на части. Для этого я возвращаю вспомогательные объекты, которые решают узкую часть задач.
Ну или объект Some имеет открытый конструктор и используется так.
Если бы Some не использовался снаружи, то имел бы время жизни не более чем время жизни Parent. Тогда при удалении Parent разрушен был бы и Some. Но что будет если
Будет ли хотябы отладочное разумное сообщение или просто вылет приложения? Не отдавать же классу Some в конструкторе QSharedPointer на Parent. Ведь в документации обычно не пишут про время жизни вспомогательных объектов. По крайнем мере я в документации QT это не встречал. |
|
|
Алексей1153 |
11.9.2012, 20:55
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
зачем так
Предлагаю начать с постановки задачи для разбиения задачи на функции, к примеру, с промежуточными объектами достаточно сделать эти функции статическими , а объекты передавать в них по ссылке или указателю. |
|
|
xbarmaglot |
12.9.2012, 6:45
Сообщение
#3
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 29.8.2012 Пользователь №: 3502 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Алексей1153 |
13.9.2012, 11:01
Сообщение
#4
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
|
|
|
xbarmaglot |
13.9.2012, 11:11
Сообщение
#5
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 29.8.2012 Пользователь №: 3502 Спасибо сказали: 0 раз(а) Репутация: 0 |
Предлагаю начать с постановки задачи У меня объект имеет доступ с несколький десяткам интерфейсов (нак исторически сложилось )
Задача поделить их и раздавать пользователю только те, которые ему необходимы. Если реализовывать классы-обертки, то нужен контроль времени жизни объекта обертки. То есть если есть
и parent грохнуть, то wrapper должен при использовании закричать, что нет parent. З.Ы. Можно конечно сделать так
Но я думал, что в QObject это уже реализовано |
|
|
ssoft |
13.9.2012, 11:25
Сообщение
#6
|
Участник Группа: Участник Сообщений: 130 Регистрация: 17.2.2010 Из: Москва Пользователь №: 1470 Спасибо сказали: 30 раз(а) Репутация: 3 |
З.Ы. Можно конечно сделать так
Но я думал, что в QObject это уже реализовано Есть QPointer. Если parent и wrapper являются QObject, то можно использовать для оповещения сигнал destroyed(). Сообщение отредактировал ssoft - 13.9.2012, 11:27 |
|
|
Алексей1153 |
14.9.2012, 6:16
Сообщение
#7
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
|
|
|
xbarmaglot |
14.9.2012, 6:53
Сообщение
#8
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 29.8.2012 Пользователь №: 3502 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Текстовая версия | Сейчас: 9.11.2024, 15:18 |