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:



Table Of Contents