Какую библиотеку Singleton в ПОВЫШЕНИИ Вы выбираете?

Результаты Google говорят, что в повышении существует больше чем 1 одноэлементный шаблон/базовый класс, какой Вы предлагаете?

12
задан Chris Martin 4 November 2014 в 06:57
поделиться

2 ответа

Вы не должны использовать синглтоны в ускорении, они предназначены только для внутренних целей (см. Папки с подробностями отдельных библиотек). Вот почему у вас нет библиотеки Singleton (пока), представленной на веб-сайте boost.

Одноэлементный класс очень просто реализовать, но есть много вариантов, которые полезны в определенных случаях, поэтому вы должны использовать что-то, что соответствует тому, как, по вашему мнению, должен вести себя одноэлементный класс.

Существуют и другие библиотеки, предоставляющие синглтон, наиболее универсальным из которых является Loki. Но это может поразить вас;)


Обновление: теперь предлагается библиотека под названием Singularity, которая предназначена для предоставления неглобального синглтона (с возможностью сделать его глобальным), который заставляет вас иметь четкие точки создания и уничтожения объект.

См. Запрос на обзор: http://boost.2283326.n4.nabble.com/Review-Request-Singularity-tt3759486.html

Некоторые разработчики Boost, похоже, рассматривают возможность использования его вместо некоторых хаков, но C ++ 11 делает создание класса Singleton проще, чем раньше, так что это будет зависеть от обзора.

8
ответ дан 2 December 2019 в 22:37
поделиться

Моя версия boost имеет следующие заголовки singleton.hpp:

C:\boost_1_38_0\boost\pool\detail\singleton.hpp
C:\boost_1_38_0\boost\serialization\singleton.hpp
C:\boost_1_38_0\boost\thread\detail\singleton.hpp

Я не использовал ни один из них, но я бы, вероятно, держался подальше от тех, которые находятся в каталогах деталей.

В любом случае, http://torjo.com/tobias/index.html#boost_utility_singleton.reference.singleton выглядит как один из тех, которые можно использовать, но, похоже, он не является частью boost (еще не принят?).

1
ответ дан 2 December 2019 в 22:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: