我正在使用从 here 借来的一些代码它使用 boost::call_once 来创建单例类,并希望将所有内容转换为使用 C++0x 的 std::call_once 来消除对 Boost 的依赖。有谁知道 BOOST_ONCE_INIT 的 Std 等效项是什么?
最佳答案
std::once_flag
有一个 constexpr
构造函数,因此具有静态存储持续时间的实例始终被静态初始化。
顺便说一句,关于 scoped_ptr
的一点很重要 --- scoped_ptr
实例的构造函数不是静态初始化,因此将与它之前的单例的任何使用竞争已初始化,并可能覆盖指针。
关于c++ - std::once_flag 相当于 BOOST_ONCE_INIT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4200813/