![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| 17dufa |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 2.3.2006 Репутация: 3 Всего: 5 |
Добрый день.
наскока я понимаю стандартный Singleton выглядит примерно так:
если в проекте несколько Singleton'ов, что делать? Копи-пастить общую часть совершенно не хочется. Я вижу 2 решения: 1. Занести общую часть в #define 2. изменить класс на шаблонный:
но тогда приходится прибегать к механизму friend. Оба решения мне не нравятся чисто идеологически: на мой вкус слова "#define" и "friend" должны появляться только в случае крайней необходимости. Есть ли другое решение? *в реализации Локи (http://loki-lib.sourceforge.net/) заблудился Это сообщение отредактировал(а) 17dufa - 31.8.2009, 10:18 |
||||
|
|||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 20 Всего: 121 |
Александреску (автора Локи) читали? Он подробно освещает этот вопрос. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| 17dufa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 2.3.2006 Репутация: 3 Всего: 5 |
W4FhLF, упс. он у меня где-то 2-3 стоит на очереди
|
|||
|
||||
| just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 2 Всего: 10 |
только секцию Private в protected перевести. |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 3 Всего: 43 |
Зачастую Singleton можно сократить до такого вида:
namespace X {} |
|||
|
||||
| 17dufa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 2.3.2006 Репутация: 3 Всего: 5 |
just_geek, точно. идея наследоваться от инстанцированного собой же шаблона мне бы, наверно, никогда не пришла
nerezus, если честно - не понял. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |