Order of initialization of globals across TU

suggest change

Whereas inside a Translation Unit, order of initialization of global variables is specified, order of initialization across Translation Units is unspecified.

So program with following files

#include <iostream>

int dummyFoo = ((std::cout << "foo"), 0);
#include <iostream>

int dummyBar = ((std::cout << "bar"), 0);
int main() {}

might produce as output:

foobar

or

barfoo

That may lead to Static Initialization Order Fiasco.

Feedback about page:

Feedback:
Optional: your email if you want me to get back to you:


Implementation-defined behavior:
* Order of initialization of globals across TU

Table Of Contents
8 Arrays
11 Loops
39 Streams
51 Unions
56 Lambdas
60 SFINAE
62 RAII
64 Implementation-defined behavior
67 Sorting
84 RTTI
87 Scopes
104 Profiling
107 Recursion
117 Iteration
125 Alignment
134 Semaphore
136 Debugging
139 Mutexes
142 decltype