я предпочитаю глобальные умные указатели, а не синглетоны.
и поддерживаю
lapulyaКак мождно задать последовательность вызова деструкторов синглетонов, созданных в разных translation unit ?
если отвечать именно на этот вопрос, то пути разные, но суть одна нужно доверить управление разрешением кому-то другому, а не синглетонам
например, структура наполненная умными указателями, в ходе работы ты инициализируешь умные указатели, когда придёт время ты разрушишь структуру и вместе с ней разрушатся, в нужном порядке все умные указатели и то на, что они указывают.
другой вариант, то фабрика основанная на списке типов, т.е. ты в параметрах шаблона перечисляешь типы которые фабрика может создавать и далее фабрика следит за порядком разрушения, естественно создавать придётся тоже через фабрику. Это по сложней, но можешь получать объекты из фабрики зная только его тип.
например, Factory.Get<Class2>();