Всегда ли глобальные переменные инициализируются до каких-либо глобальных переменных thread_local?
struct A
{
A() : n(1)
{}
int n;
};
struct B
{
B() : n(2)
{}
int n;
};
thread_local A a;
B b;
int main()
{
return a.n;
}
a
определяется раньше b
,
Мой вопрос:
Гарантирует ли стандарт C++ B::B()
называется раньшеA::A()
называется?