单例模式,即只有一个实例。通常是一般的嵌入式设备或者要求占内存低的C++软件程序需要的模式。
常见的单例实现
#include <iostream>
class Single
{
public:
static Single & GetInstance();
private:
Single();
~Single();
Single(const Single &);
const Single & operator = (const Single &);
};
Single::Single()
{
}
Single::~Single()
{
}
Single & Single::GetInstance()
{
static Single sInstance;
return sInstance;
}
int main()
{
Single &SingleInstace = Single::GetInstance();
}
这样的单例有个线程不安全的缺点。
因此,最后是main函数启动时,就创建单例,或者使用api函数统一启动所有单例,避免添加互斥锁。