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