std::mutex::mutex (3) - Linux Man Pages
constexpr mutex() noexcept; (1) (since C++11)
mutex( const mutex& ) = delete; (2) (since C++11)
1) Constructs the mutex. The mutex is in unlocked state after the constructor completes.
2) Copy constructor is deleted.
Because the default constructor is constexpr, static mutexes are initialized as part of static_non-local_initialization, before any dynamic non-local initialization begins. This makes it safe to lock a mutex in a constructor of any static object.