Consider the following code:
What will A::a be equal to?Code:
int f();
struct A
{
static int a;
}
int A::a = f();
int f()
{
static int i = 0;
return i;
}
Couldn't A::a be initialized before f::i?
The reason I ask is the thread "Virtual Constructors" where my solution depends on the static variables being initialized in a particular order.