Because locales and facets must be available for the IO stream objects with static storage duration, such as std::cout, typical implementations let implicit default constructor zero-initialize the contents of std::locale::id during static initialization (before constructors run for static objects), and when a facet is added to any locale for the first time, the locale completes initialization of the facet's id.

The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions.