В Foo.h я определяю 1 глобальную переменную как
static const int g_var = 4;
Затем я включаю этот заголовочный файл во многие различные заголовочные файлы и файлы .cpp.Если я просто напишу
int g_var = 4;
, я получу ошибки «g_var Уже определен в», что понятно, поэтому мне пришлось добавить static, чтобы он был только один раз инициализирован.Но использование
const int g_var = 4;
решает проблему «уже определено».Я читал, что это потому, что глобальные переменные const по умолчанию имеют внутреннюю связь.Значит, ключевое слово static здесь избыточно?