執行緒安全的 Singeton
Version >= C++ 11
C++ 11 標準保證了函式作用域物件的初始化以同步方式初始化。這可用於實現具有延遲初始化的執行緒安全單例。
class Foo
{
public:
static Foo& instance()
{
static Foo inst;
return inst;
}
private:
Foo() {}
Foo(const Foo&) = delete;
Foo& operator =(const Foo&) = delete;
};