Правильная реализация глобальной конфигурации

Моя цель — иметь глобальные константы в игре на C++, над которой я работаю (для представления некоторой графической информации и т.п.). Моя текущая реализация состоит в том, чтобы бросить их все в .h и включить их везде. Это работает, за исключением того, что каждый раз, когда я меняю настройку, вся база кода должна быть перекомпилирована.

Моя следующая идея заключалась в том, чтобы поместить их в какой-нибудь конфигурационный txt-файл и проанализировать их, чтобы код не менялся при изменении настроек. Синтаксический анализатор был достаточно простым, и я мог поместить значения в константы, но поскольку синтаксический анализатор представлял собой блок кода, константы больше не были глобальными.

Есть ли хороший способ решить эту проблему? Возможно, какой-то способ сделать их глобальными, несмотря на то, что они находятся в блоке, или какой-то способ избежать перекомпиляции всего при изменении настроек?

17
задан akroy 5 June 2012 в 05:46
поделиться