std::once_flag
имеет конструктор constexpr
, поэтому экземпляры со статической продолжительностью хранения всегда статически инициализируются.
Кстати, точка около scoped_ptr
важна - конструктор экземпляра scoped_ptr
НЕ является статической инициализацией, поэтому будет гоняться при любом использовании синглтона до его инициализации и, возможно, перезаписать указатель.