C++ 简单设计模式之单例模式

一、单例模式

要点:该类有且仅有一个实例,并只能通过接口函数获取到该类的实例

二、类设计

class A {
private:
	A() = default;						// 私有化构造函数
	A(A&) = delete;						// 禁止拷贝构造函数
	A& operator=(const A&) = delete;	// 禁止赋值运算符

public:
	~A() = default;

public:
	static A& instance() {				
		static A _instance;
		return _instance;
	}

};

三、使用方式

int main(int argc, char *argv[])
{
	A *a = &A::instance(); // 获取到实例

	return 0;
}

四、完整代码

#include <iostream>

using namespace std;

class A {
private:
	A() = default;						// 私有化构造函数
	A(A&) = delete;						// 禁止拷贝构造函数
	A& operator=(const A&) = delete;	// 禁止赋值运算符

public:
	~A() = default;

public:
	static A& instance() {				
		static A _instance;
		return _instance;
	}

};

int main(int argc, char *argv[])
{
	A *a = &A::instance(); // 获取到实例

	return 0;
}
posted @ 2021-12-17 11:13  想想就很离谱  阅读(60)  评论(0编辑  收藏  举报