Глобальные переменные инициализируются в порядке появления в модуле трансляции и относительном порядке инициализации переменных в разных модулях перевода в неуказанном (так называемый "статический фиаско порядка инициализации" ).
Влияют ли пространства имен на это? Например, если у меня есть этот код:
//first.cpp
int first;
int second;
будет ли она иметь какую-либо разницу в порядке инициализации по сравнению с этим кодом:
//second.cpp
namespace {
int first;
}
int second;
Существуют ли случаи, когда помещение глобального объекта в пространство имен влияет на порядок инициализации?