c++ 정적 객체 초기화 질문 ( 이펙티브 c++ 관해서 )

으네이의 이미지

이펙티브 c++ 3판 75쪽을 보면

파일 단위 기준으로 비지역 정적 객체들은 초기화 순서가 정해져 있지 않다고 읽었습니다.

한번 실험삼아 소스를 짜봤는데 한번 봐주십쇼 ㅠㅠ

헤더 파일입니다.

class Test
{
public:
	static int Num;
};

소스 파일_1입니다.

#include "Header.h"
Test T;
 
int Test::Num = 10;

메인 함수가 포함된 소스파일 입니다.

#include <iostream>
#include "Header.h"
 
using namespace std;
extern Test T;
 
class User
{
public:
	static int N;
	User() { }
};
 
User U;
int User::N = T.Num;
 
int main()
{
	printf("%d", U.N);
}

이런식으로 작성하고 컴파일 했는데 정상적으로 10이 출력돼네요

소스가 간단해서 10이 출력돼는거지 실제로는 소스_1 파일에 있는 Test T가 초기화가 먼저 될지는

모르는건가요? 아니면 제가 예제를 잘못 짠건가요?