Форум программистов, компьютерный форум CyberForum.ru

Хранение синглтонов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Public и Private http://www.cyberforum.ru/cpp-beginners/thread1202015.html
Доброго времени суток! Написал код и понял, что некоторые методы должны быть private, а не public. Если переношу их в private, то компилятор, естественно, ругается. Не подскажете как быть?
C++ Invalid types ‘<unresolved overloaded function type>[int]’ for array subscript (не присваивается значение) Здравствуйте. Не получается присвоить в цикле значения в элемент контейнера, будь то vector или valarray. enum { NUM = 3 }; //number of choices valarray<int> choices(int(NUM)); //... void Enrollee::SetChoices(int* const c_ptr) { try { int* ptr = c_ptr; http://www.cyberforum.ru/cpp-beginners/thread1201978.html
C++ Доработка программы. Графический режим
Мое задание звучит так: Окружность и квадрат, изменяют цвета и размеры, появляются в различных местах экрана.- используя абстрактные классы и виртуальные функции Программа получилась рабочая. Окружность и квадрат у меня изменяют цвета и размеры, появляются на экране.Но.. Остались мелкие доработки. Не пойму работает ли функция while (!kbhit())???? И почему не выводится в консольном окне...
C++ Найти среднее арифметическое всех неотрицательных элементов массива
Найти среднее арифметическое всех неотрицательных элементов массива. Помогите найти ошибку, пожалуйста, выводит только целые значения #include <stdio.h> #include <iostream> using namespace std; void main() { const int n = 10; int a;
C++ Ошибка при передаче двумерного массива в функцию std::thread http://www.cyberforum.ru/cpp-beginners/thread1201945.html
Здравствуйте! Написал программу на потоки, теперь нужно передать туда двумерный массив. Пытаюсь передать по ссылке, но каждый раз выскакивает это сообщение: error C2664: "void (int **,int,int)": невозможно преобразовать аргумент 1 из "int" в "int **" Если кто-нибудь знает, как исправить, подскажите. Заранее спасибо! #include "stdafx.h" #include <functional>
C++ Написать программу, которая решает системы нелинейных неравенств с двумя переменными Класс неравенств можно выбрать какой угодно. Сразу вопрос, какие есть вообще классы нелинейных неравенств? Количество неравенств к примеру 2 или 3. Область решений нужно вывести на экран в графическом режиме. То есть, изображена плоскость, на ней закрашенные области решений. Кроме как перебирать в цикле каждую точку плоскости, выводимой на экран, в голову ничего не пришло. Тогда, я думаю, такая... подробнее

Показать сообщение отдельно
relationer
33 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 118

Хранение синглтонов - C++

07.06.2014, 18:36. Просмотров 213. Ответов 6
Метки (Все метки)

Здравствуйте!

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

Написал следующее:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class ServicesHandler
{
private:
    Logger *_loggerInstance;
    LolManager *_lolManager;
    // ...
public:
    ServicesHandler();
    ~ServicesHandler();
    
    const Logger& getLogger() const;
    const LolManager& getLolManager() const;
    // ...
};
В конструкторе - инициализация, в деструкторе - уничтожение. У синглтонов запрещены операции копирования и проч.
Является ли это нормальным подходом к хранению синглотонов?

Какие есть подводные камни? Как бы вы это реализовывали?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru