std::call_once写单列模式
生活随笔
收集整理的這篇文章主要介紹了
std::call_once写单列模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include
#include
#include
class Singleton {
public:
static Singleton& GetInstance() {
//c++11保證唯一性
static std::once_flag flag;
std::call_once(flag, {
instance_.reset(new Singleton);
});
return *instance_.get();
}
~Singleton()
{
std::cout << “~Singleton()” << std::endl;
}
void PrintAddress() const {
std::cout << this << std::endl;
}
private:
Singleton() = default;
Singleton(const Singleton&) = delete;
Singleton& operator=(const Singleton&) = delete;
private:
static std::unique_ptr instance_;
};
std::unique_ptrSingleton::instance_;
總結
以上是生活随笔為你收集整理的std::call_once写单列模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: KNN算法检测手势动作
- 下一篇: CDH6.2 Linux离线安装