C++单例模式实现小结

懒汉式:在类加载时不初始化、按照需求创建实例

实现代码:

class Single
{
private:
	Single()
	{
		cout << "单例类" << endl;
	}
private:
	static Single*instrance;
public:
	static Single* Generate()
	{
		if (instance == NULL)
		{
			instrance = new Single();
			cout << "对象创建成功" << endl;
		}
		else
		{
			cout << "对象已经创建成功,无须再建" << endl;
		}
		return instance;
	}
public:
	static Single* Destroy()
	{
		delete instance;
		instance = NULL;
	}
};
Single* Single::instance =  NULL;
//以下实例化全部用Generate实现

饿汉式:在类加载时就完成了初始化,获取对象的速度快

实现代码:

class Single
{
private:
	Single()
	{
		cout << "单例类" << endl;
	}
private:
	static Single* instance;
public:
	static Single* Generate()
	{
		return instance;
	}
public:
	static Single* Destroy()
	{
		delete instance;
		instance = NULL;
	}
};
Single* Single::instance = new Single();//饿汉式
//以下实例化全部用Generate实现
发布了45 篇原创文章 · 获赞 0 · 访问量 984

猜你喜欢

转载自blog.csdn.net/qq_41985293/article/details/104168002