Я должен согласиться с @Carl Norum: нет ничего плохого в настройке глобальной конфигурации, которую вы сейчас имеете.Вы говорите, что каждый "получил что-то из этого".Как вы знаете, проблема с глобалами возникает, когда все пишут в их.В вашем случае информация о конфигурации действительно нужна глобально, поэтому заслуживает быть глобальным.
Если вы хотите сделать его немного более изолированным и защищенным - чуть менее глобальным - тогда почему бы не добавить некоторые процедуры чтения / записи.
Понимаете, хранение указателей повсюду не решит проблему на самом деле: она только добавит слой косвенности, который просто замаскирует или замаскирует то, что в действительности является глобальным доступом, который заставляет вас нервничать.И этот дополнительный слой косвенности добавит juuuuust достаточно места для juuuuust маленького крохотного жучка, чтобы закрасться.
Итак, суть: если все естественноglobal затем сделайте глобальным и не беспокойтесь об обычной широко распространенной мудрости, которая в основном верна, но может быть неправильной в вашем приложении.Быть всегда связанным с правилами / пропагандой, которые выкладывают учителя CS, является, по моему мнению, идеальным примером глупой последовательности.