LINUX.ORG.RU

История изменений

Исправление rumgot, (текущая версия) :

Я не очень одобряю размещение в статической памяти глобальных переменных не элементарных (фундаментальных типов). Т.к. они все инициализируются до main и при большом их объеме могут повлиять на скорость запуска программы. Если так уж нужны глобальные переменные, то мне больше нравится вариант с возвратом ссылки на статическую локальную переменную из функции, при этом инициализация происходит во время первого обращения, а поскольку вряд ли все эти переменные нужны в одном месте, а обращения размазаны по коду программы, то и их инициализация также происходит не в одной точке, а равномерно распределенно по программе не осуществляя явных задержек в выполнении в одном месте.

Исходная версия rumgot, :

Я не очень одобряю размещение в статической памяти глобальных переменных не элементарных (фундаментальных типов). Т.к. они все инициализируются до main и при большом их объеме могут повлиять на скорость запуска программы. Если так уже нужны глобальные переменные, то мне больше нравится вариант с возвратом ссылки на статическую локальную переменную из функции, при этом инициализация происходит во время первого обращения, а поскольку вряд ли все эти переменные нужны в одном месте, а обращения размазаны по коду программы, то и их инициализация также происходит не в одной точке, а равномерно распределенно по программе не осуществляя явных задержек в выполнении в одном месте.