Я постоянно нахожу, что часто хочу иметь набор «глобальных» параметров для программы - переменные, используемые многими различными классами в разных файлах, скомпилированных отдельно.Я хотел бы сохранить эти параметры вместе, краткими и легкодоступными, что-то вроде
namespace Params {
static int WindowHeight = 600;
//...etc.
};
Однако, если это включено, чтобы сделать ao и bo, «static» делает эти переменные локальными для каждого файла .o, ачем их совместное использование и «статическое» угробление приводит к нескольким определениям.Другой вариант - создать статический класс, такой как
class Params {
public:
static int WindowHeight;
//...etc.
}
Но тогда вам придется инициализировать параметры отдельно в других местах:
int Params :: WindowHeight = 600;
и это то, чего я действительно хотел бы избежать.Я даже приму что-то вроде следующего (кстати, у меня это не сработало)
namespace Params {
static int WindowHeight
#ifdef __MUST_INIT_PARAMS
= 600
#endif
;
};
, если каждая запись может храниться в одном месте.
Любойидеи?Любая помощь будет отличной!Спасибо!