При рефакторинге некоторых #defines
я столкнулся с объявлениями, похожими на следующие в заголовочном файле C ++:
static const unsigned int VAL = 42;
const unsigned int ANOTHER_VAL = 37;
Вопрос в том, какая разница, если таковая будет, будет иметь статическое значение? Обратите внимание, что многократное включение заголовков невозможно из-за классического трюка #ifndef HEADER
#define HEADER
#endif
(если это имеет значение).
Означает ли статическое значение, что создается только одна копия VAL
, если заголовок включен более чем в один исходный файл?