C++设计模式学习笔记01_单例类1

单例类_懒汉式和饿汉式设计

懒汉式,指的是设计出的这个类,只有在你调用公共的创建对象函数时,才会产生一个(也是唯一一个对象)

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出来


猜你喜欢

转载自blog.csdn.net/weixin_42718004/article/details/84934220