单例类_懒汉式和饿汉式设计
懒汉式,指的是设计出的这个类,只有在你调用公共的创建对象函数时,才会产生一个(也是唯一一个对象)
class Singelten
{
public:
static Singelten * get_singelten() //公有的静态函数
{
if (m_psl == NULL)
{
m_psl = new Singelten;
return m_psl;
}
else
{
return m_psl;
}
}
static void free_singelten() //free操作的返回为void
{
if (m_psl != NULL)
{
delete m_psl;
m_psl = NULL;
}
}
private: //私有的构造函数
Singelten()
{
}
private:
static Singelten *m_psl; //静态成员变量
};
Singelten *Singelten::m_psl = NULL; //静态的成员变量的初始化必须在类的外部进行
饿汉式,指的是当程序运行时,就产生一个(唯一一个)对象,当调用函数时,将类的成员变量返回出去
class Singelten
{
public:
static Singelten * get_singelten()
{
return m_psl;
}
static void free_singelten()
{
if (m_psl != NULL)
{
delete m_psl;
m_psl = NULL;
}
}
private:
Singelten()
{
}
private:
static Singelten *m_psl;
};
Singelten *Singelten::m_psl = new Singelten; //直接将对象new出来