懒汉模式
class Singleton{
public:
static Singleton& getInstance(){
static Singleton instance;
return instance;
}
Singleton(const Singleton&)=delete;
Singleton& operator = (const Singleton&)=delete;
private:
Singleton(){}
~Singleton(){}
};
饿汉模式
class Singleton{
public:
static Singleton& getInstance(){
return instance;
}
Singleton(const Singleton&)=delete;
Singleton& operator = (const Singleton&)=delete;
private:
Singleton(){}
~Singleton(){}
static Singleton instance;
};
Singleton Singleton::instance;