Влияют ли пространства имен на порядок инициализации в C ++?

Глобальные переменные инициализируются в порядке появления в модуле перевода и относительном порядке инициализации переменных в разных модулях перевода в неуказанном (так называемая" статическая инициализация) порядок фиаско ").

Имеют ли пространства имен какое-либо влияние на это? Например, если у меня есть этот код:

//first.cpp
int first;
int second;

, будет ли он иметь какое-либо различие в порядке инициализации по сравнению с этим кодом:

//second.cpp
namespace {
int first;
}
int second;

Существуют ли случаи, когда помещается глобальный объект в па mespace влияет на порядок инициализации?

12
задан sharptooth 2 December 2011 в 08:07
поделиться