std :: Once_flag эквивалент BOOST_ONCE_INIT - PullRequest
2 голосов
/ 17 ноября 2010

Я работаю с кодом, который я позаимствовал у здесь , который использует boost :: call_once для создания одноэлементного класса, и хотел бы преобразовать все для использования std :: call_once в C ++ 0x для удаления зависимость от Boost. Кто-нибудь знает, что такое стандартный эквивалент BOOST_ONCE_INIT?

1 Ответ

3 голосов
/ 18 ноября 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...