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