版本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;
}
};