If there is a use of an object with static storage
duration that does not happen before the object's destruction, the program has undefined
Terminating every thread before a call to std::exit
or the exit from
is sufficient, but not necessary, to satisfy these requirements.
requirements permit thread managers as static-storage-duration objects.
— end note