// value.cpp
namespace { int value = 5; }
int getValue() { return ++value; }

// use.cpp
int useValue() {
  return 2 * getValue();
}

// test.cpp
namespace { int n = useValue(); }

というようなコードを書いた場合、test.cppでuseValueが呼び出されると、
getValueのコードも既に実在しているハズだからvalueも初期化済みということになりますか?