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

Классы-синглтоны с зависимостями должны удаляться в определенном порядке - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как переписать строку из char buf[20] в wchar_t buf1[20]; ? http://www.cyberforum.ru/cpp-beginners/thread1245471.html
Как переписать строку из char buf в wchar_t buf1; ?
C++ Выделение памяти в процессе выполнения функции есть массив указателей на int, объявленный глобально int* arr; но заранее я не знаю, сколько мне понадобится одномерных массивов - один или все 10. память нужно выделять во время исполнения функции. вопрос: как это сделать? P.S я понимаю, что сделав так void func() { arr = new int; } http://www.cyberforum.ru/cpp-beginners/thread1245461.html
C++ Считать массив байт в переменную типа int в обратном порядке
Есть массив байт: char byData = {0x87, 0xd6, 0x12, 0x00}; Нужно считать его в переменную типа int в обратном порядке, т.е. должно получится hex-число 0x0012D687 Пытаюсь как-то так: int c = 0; c += byData*0x01000000; c += byData*0x00010000; c += byData*0x00000100; c += byData; Ну естественно ничего не выходит. Вместо лидирующих нулей появляются ffff, и в сумме это все дает неверное...
C++ Русский язык в консоли
Здравствуйте. Чего-то не разберусь с русским языком. setlocale(LC_ALL,"RUSSIAN"); и setlocale(LC_ALL,"1251"); - классно. Мне нужно вводить выводить с клавиатуры, а так же из текстового файла. Одна из выше строк помогает при работе с файлом, вторая - для клавиатуры. Т.е. один вариант помогает ввести с клавиатуры русский текст, но в то же время при выводе из файла странный набор символов,...
C++ Дайте ссылку на Dshow http://www.cyberforum.ru/cpp-beginners/thread1245396.html
Помогите! Киньте мне силку на dshow.a, никак не могу найти
C++ Необходимо хранить список типов, и пользоваться ими, например, вызывать конструкторы Здравствуйте! Мне необходимо хранить список типов, и пользоваться ими, например, вызывать конструкторы. Я нашел вариант решения проблемы в известной книге А. Александреску, но книга писалась давно, и вопрос: есть ли какие-либо варианты сделать тоже самое с помощью средств c++11, скажем, вариадических шаблонов (я не могу запихнуть в них то, что мне нужно, но они могут оказаться полезны... подробнее

Показать сообщение отдельно
relationer
33 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 118
21.08.2014, 20:34     Классы-синглтоны с зависимостями должны удаляться в определенном порядке
Здравствуйте!

Пишу классы-синглтоны с зависимостями. Храню их в статической памяти. Проблема в том, что они должны удаляться в определенном порядке - я регистрирую зависимости. Однако, когда в конце программы компилятор сам вызывает деструкторы, то, сначала разрушается объект производного класса (я наследую синглтоны от Service), и только потом я могу обработать зависимости, что не есть хорошо. Вариант с синглтоном-фениксом мне не подходит.

У меня есть следующие возможные варианты решения проблемы:
1) не хранить синглтоны в статической памяти, или хранить указатели на них
2) хранить в статической памяти что-нибудь вроде ServiceHandle, который в деструкторе будет обрабатывать зависимости и удалять "свой" синглтон.
3) использовать функцию atexit (не в смысле того, что описывал Александреску): т. к. она, по идее, вызывается ДО освобождения статической памяти, то там можно все корректно удалить, но тогда нужно будет решать проблему с двойным вызовом деструкторов, хранить дополнительные данные
И так далее, наподобие предыдущих, частично схожих идей.

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