Ниже приведен простой случай подсчета объектов:
struct A
{
static int count;
A () { ++ count; }
};
Теперь его объект и static
член объявлены как:
A obj; // comes 1st
int A::count = 5; // comes 2nd
g ++ дает ожидаемый результат.Но поскольку определение A::count
идет после одного из экземпляров A
в глобальном пространстве, разве это не должно быть неопределенное поведение ?