![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
всем привет.
с такой идиомой "познакомился" в Python. так же, говорят что и в F# такое тоже есть. наверняка и в многих других ЯП. но, к сожалению, не в с++. объяснять что это, и для чего это может понадобиться, полагаю не надо. из названия все понятно. в гугле по этому направлению ничего не нашел. кроме, этого упоминания: http://www.boost.org/doc/libs/1_45_0/doc/h...les.deconstruct мне интересно, каким образом, минимальными изменением декларации структур/классов, можно навязать некоторому объекту такое поведение. спасибо. зы как такового, вопроса нет. просто размышления.. |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
в фабрике после создания объекта можно вызвать "постконструктор", или наследоваться и конструктор наследника будет "постконструктором"
а зачем эта идиома? Добавлено через 1 минуту и 39 секунд по теме http://stackoverflow.com/questions/1151787...estructor-virtu |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
вы говорите о методе, вызываемом руками. это никакой не постконструктор ;) у вас не бывало ситуаций, когда созданный объект, это не то же самое, что и инициализированный? у меня такое часто встречается. и вызывать методы для инициализации - логически не правильно. нарушается целостность.
вот этого не нашел. почитаю. спасибо. |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
скажите, есть ли способ это автоматизировать, не сильно нарушая структуру проекта? может наследованием от какого-нибудь базового класса? я пытался - не допёр. фабрика - не совсем то, т.к. с интеграцией могут возникнуть сложности, не говоря уже о модернизации рабочего кода. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
что-то типа:
? или "оборачиванием" буквально? |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
нет crtp тут не пройдет.. нет внешнего по отношению к конструктору креатора.. в простом виде выглядит так : http://liveworkspace.org/code/8f3dbcca9aa8...f7be5a589cbd9f1 Это сообщение отредактировал(а) mes - 16.1.2011, 00:46 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |