You ([EMAIL PROTECTED]) wrote: >> которые ещё не уяснили, что в данном месте имеется нехорошая >> зависимость от порядка инициализации глобальных переменных,
AP> А? Кто сказал что есть? Помимо конструкторов бывает ещё метод AP> Init, который мы ручками зовём в нужном порядке. А вот кто сказал: ---------------------------------------------------------------------- > Ровно до тех пор, пока в конструкторе MainServerConfig не захочется > что-нибудь залогировать; или наоборот -- пока конструктор логгера на > захочет узнать из конфигурации, куда собственно писать будем. Это > все про C++, конечно. ---------------------------------------------------------------------- Не говоря уж о том, что Init() ручками - это ужос-ужос, и его нужно в RAII-обёртку пихать, а эту обёртку опять инициализировать. При Init() мы можем звать уже после глобальных конструкторов, а обёртку или после, или в непредсказуемом порядке. AP> Вариант. Ну спрячем мы указатель на объект в статическом методе AP> объекта, примерно то же самое Артём Чуприна предлагает. Но AP> наступления счастья, по сравнению с одним глобальным объектом, я AP> не вижу. Всё то же самое, в общем-то, только вызывать менее AP> удобно. "объект" реализует интерфейс (в общем смысле) очень обширный. Его операции включают и получение указателя/ссылки на объект, и явный вызов деструктора, и прочую байду типа конверсии типов, а это, опять-таки, нарушает принцип минимума привилегий: нет возможности чего-то легально сделать - нет проблемы, что кто-то это легально сделает. -- JID: [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

