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