Zmienne statyczne bezpieczne dla wątków bez mutexingu?

Pamiętam, że czytałem, że zmienne statyczne zadeklarowane wewnątrz metod nie są bezpieczne dla wątków. (WidziećA co z singletonem Meyera? jak wspomniano przezTodd Gardner)

<code>Dog* MyClass::BadMethod()
{
  static Dog dog("Lassie");
  return &dog;
}
</code>

Moja biblioteka generuje kod C ++, który użytkownicy końcowi mogą skompilować w ramach swojej aplikacji. Kod, który generuje, musi inicjować zmienne statyczne w bezpieczny dla wątków sposób międzyplatformowy. Chciałbym użyćboost::call_once mutex inicjalizacji zmiennej, ale następnie użytkownicy końcowi są narażeni na zależność Boost.

Czy mogę to zrobić bez wymuszania dodatkowych zależności od użytkowników końcowych?

questionAnswers(5)

yourAnswerToTheQuestion