Стандарты С++ (по крайней мере, до С++ 17) говорят это о порядке инициализации.
Объекты со статической продолжительностью хранения, определенные в области пространства имен в той же единице трансляции и динамически инициализированные, должны быть инициализированы в том порядке, в котором их определение появляется в единице трансляции.
C++17 вводит встроенные переменные, что, как я полагаю, означает, что одна переменная с статической длительностью хранения а область пространства имен и динамическая инициализация могут быть определены в нескольких единицах перевода.
Дает ли С++ какие-либо гарантии относительно порядка инициализации этих переменных?