Вроде того, но только потому, что int — особый случай. Например, предположим, что вы пишете в Object.cpp:
Object o = {};
int Object::number = 5;
Тогда объект o имеет статическую продолжительность хранения, как и Object::number. Номинально он создается до number и будет уничтожен позже, но, поскольку они оба являются POD, это уничтожение фактически не имеет никакого эффекта.
Однако если бы number и o имели нетривиальные деструкторы, то number был бы уничтожен до o. Тот факт, что number является статическим членом класса o, не дает ему особого отношения к порядку уничтожения.
Если o выключен в другом исходном файле, то порядок построения не указан, а порядок уничтожения является обратным порядком построения (опять же, это если у них были нетривиальные деструкторы - int является особым случаем, поскольку это не так).
person
Steve Jessop
schedule
01.03.2013
Object::numberбудет существовать даже тогда, когда никаких экземпляровObjectне существует, не говоря уже о том, что они переживут любой конкретный экземплярObject. Есть только один (если это не шаблон, но технически это не тот же класс, так как это будет сгенерированный вывод). - person WhozCraig   schedule 01.03.2013Objectдо того, какObject::numberбудет инициализирован... - person Mooing Duck   schedule 01.03.2013