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