版本1:
class Singleton
{
private:
Singleton(){}
static Singleton *pInstance;
public:
static Singleton *GetInstance()
{
if(pInstance == NULL)
pInstance = new Singleton();
return pInstance;
}
}; 版本2:
class Singleton
{
private:
Singleton(){}
public:
static Singleton *GetInstance()
{
static Singleton instance;
return &instance;
}
}; 版本3:
class Singleton
{
private:
Singleton(){}
Singleton(const Singleton &);
Singleton& operator=(const Singleton&);
public:
static Singleton *GetInstance()
{
static Singleton instance;
return &instance;
}
};
本文介绍了三种不同的单例模式实现方式,包括使用静态成员变量和禁止拷贝构造及赋值操作等技术手段,确保整个系统中类只有一个实例。
1640

被折叠的 条评论
为什么被折叠?



