...
The value printed to the standard output stream will often rely on the order the translation units are linked. For instance, with Clang 3.8.0 on x86 Linux, the command clang++ file1.cpp file2.cpp && ./a.out
will write 0
while clang++ file2.cpp file1.cpp && ./a.out
will write 6
.
...