Backto C/C++ Index
//.h
class Singleton {
public:
static Singleton* instance();
static void Close();
private:
Singleton();
~Singleton();
static Singleton* _instance;
};
//.cpp
Singleton::Singleton() {}
Singleton::~Singleton() {}
Singleton * Singleton::instance() {
if (_instance == nullptr)
return _instance;
return _instance;
}
void Singleton::Close()
{
if (_instance != nullptr) {
delete _instance;
_instance = nullptr;
}
}
Ref
- C++完美实现Singleton模式: 标准实现, 使用 auto_ptr 的自动垃圾回收,增加 template, 和 线程安全 等, 可以说总结的很详细了。
- C++ Singleton模式 : Google chrome浏览器带的Singleton实现,通过附加一个AtExit类,支持多类型singleton实例以后进先出次序可控析构。
- C++ singleton vs. global static object : Actually, in C++ preferred way is local static object…