唯一对象
类中建立一个对象,并且在获取实例时返回该对象
class CSingleton
{
private:
CSingleton()
{
}
static CSingleton *m_pInstance;
public:
static CSingleton * GetInstance()
{
if(m_pInstance == NULL)
m_pInstance = new CSingleton();
return m_pInstance;
}
};
静态对象
在获取实例的方法中生成静态的对象,每次不会重新生成对象
class CSingleton
{
private:
CSingleton()
{
}
public:
static CSingleton & GetInstance()
{
static CSingleton instance; //局部静态变量
return instance;
}
};