单例模式
单例模式
保证一个类仅有一个实例,并提供一个该实例的全局访问点。
懒汉模式
class Singleton
{
public:
static Singleton* getInstance();
private:
static Singleton* instance_;
private:
Singleton();
Singleton(const Singleton& other);
}
Singleton* Singleton::instance_=nullptr;
Singleton* Singleton::getInstance()
{
if(instance_=nullptr)
{
instance_=new Singleton();
}
return instance_;
}
饿汉模式
class Singleton
{
public:
static Singleton* getInstance();
private:
static Singleton* instance_;
private:
Singleton();
Singleton(const Singleton& other);
}
Singleton* Singleton::instance_=new Singleton();
Singleton* Singleton::getInstance()
{
return instance_;
}