设计模式

单例模式

  • 保证一个类仅有一个实例,并提供一个访问它的全局访问点。

  • 表示全局唯一类,在系统中只保留一份。

  • 用于处理资源访问冲突(同时创建两个日志对象在写入时会存在日志信息相互覆盖)对象级别的锁还不够需要类级别的锁。

// 懒汉式单例模式
class Singleton
{
private:
	Singleton() { }
	static Singleton * pInstance;
public:
	static Singleton * GetInstance()
	{
		if (pInstance == nullptr)
			pInstance = new Singleton();
		return pInstance;
	}
};
// 线程安全的单例模式
class Singleton
{
private:
	Singleton() { }
	~Singleton() { }
	Singleton(const Singleton &);
	Singleton & operator = (const Singleton &);
public:
	static Singleton & GetInstance()
	{
		static Singleton instance;
		return instance;
	}
};
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务