Примеры использования Паттерн Singleton (Одиночка) - [4]
Ну, в довесок хочу воткнуть так вот полу-смарт указатель:
>template
>class TSingeltonPtr
>{
> T *_t;
>public:
> TSingeltonPtr() { _t = T::Instance(); }
> ~TSingeltonPtr() { if(_t) _t->FreeInst(); }
> operator T*() { return _t; }
> T* operator->() { return _t; }
> bool operator!() const { return _t==0; }
>};
использование:
>class Derived : public Singleton
>{
>void foo();
>...
>};
>void bar()
>{
> TSingeltonPtr
> if ( !sp ) return;
> sp->foo();
>}
konst 11.12.2002 19:17
Все таки непонятно, откуда пошла дурацкая мода в с++ коде давать данным-членам класса символ подчеркивания в качестве префикса? То есть, и так ясно откуда...
Но ведь c++ не java... Например на MCVC++ код с такими префиксами не компилируется иногда. Ведь сказано же, зарезервировано под надобности компиляторов. Или это специально так отформатировано, чтобы читать было красивее? ;)
А статья действительно хорошая, удивило то что почти не пересекается с [3] ;)
Пересыпкин Михаил Алексеевич 3.12.2002 16:39
Еще хочу добавить: почему Instance() возвращает указатель а не ссылку? Тогда и путаницы с delete не будет!
Sergeem 19.11.2002 12:56
Интересно обсудить эту тему.
Например у меня есть синглтон - менеджер памяти, синглтон - БД-клиент, и т.д.
Тогда менеджер памяти должен "уходить" последним, поскольку другие с-тоны могут освобождать память в своих деструкторах. Интересный вариант есть в loki. Я реалиовал свою модель. феслт кому интересно, могу поделиться или обсудить где-нить в С++ форуме.
Sergeem 19.11.2002 12:52
![Виктор Тихонов. Жизнь во имя хоккея](/storage/book-covers/d3/d30f22d3ee1dee1fff9ee0d3b89b9a250fbbd328.jpg)
Виктор Васильевич Тихонов – легенда советского и российского хоккея. В качестве главного тренера сборной он трижды добился с командой золотых медалей на Олимпиадах, восемь раз его команда завоевала титул чемпиона мира, а команда ЦСКА двенадцать раз становилась чемпионом СССР. Каким он был, «Мистер Дисциплина»? Как ему удалось добиться с командой таких успехов? Ответы на эти вопросы – в его дневниках и воспоминаниях супруги, Татьяны Васильевны, а также – в фотографиях из их личного архива.
![Загольная жизнь](/build/oblozhka.dc6e36b8.jpg)
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
![Отдыхай с Гусом Хиддинком: четыре анекдотичные футболяшки](/storage/book-covers/ee/ee656a2d476f287a21641e5e1ac83cb8c6ed7dc4.jpg)
«Отдыхай с Гусом Хиддинком» – четыре нереально смешные фантастические истории, герои которых существуют в каком-то странном пространстве – то ли виртуальном, то ли со смещенным временем, то ли вообще в мире галлюцинаций. В День национального единства русские гении – Пушкин, Достоевский и другие – играют против Рональдинью, Джеррарда, Анри и прочих звезд мира.Со школы знакомые картины, вроде «Грачи прилетели», становятся фанатскими баннерами, а Гоголь переделывает бессмертного «Резизора» под актуальные футбольные нужды.Руководство «Спартака» придумывает радикальный пиар-ход, чтобы стать ближе к народу.
![Удар из галактики](/build/oblozhka.dc6e36b8.jpg)
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
![Трансфер гастарбайтера](/build/oblozhka.dc6e36b8.jpg)
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
![Спартакобрядцы](/build/oblozhka.dc6e36b8.jpg)
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
![Графика для Windows средствами DirectDraw](/storage/book-covers/6d/6dbc78361f37e9af5b71d5019ca64570a40e0466.jpg)
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
![Виртуальная библиотека Delphi](/build/oblozhka.dc6e36b8.jpg)
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
![Пишем драйвер Windows на ассемблере](/build/oblozhka.dc6e36b8.jpg)
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
![Как писать драйвера](/build/oblozhka.dc6e36b8.jpg)
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
![MFC и OpenGL](/build/oblozhka.dc6e36b8.jpg)
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
![Информационная технология. Оценка программной продукции характеристики качества и руководства по их применению](/build/oblozhka.dc6e36b8.jpg)
Стандарт подготовлен на основе применения аутентичного текста международного стандарта ИСО/МЭК 9126-91 «Информационная технология. Оценка программной продукции. Характеристики качества и руководства по их применению»Information technology. Software product evaluation. Quality characteristics and guidelines for their use.