C++学习笔记 46 单例模式

单例模式基础实现

#include<iostream>

class Singleton {
public:
	//删除复制构造函数,防止复制,那就不是单例了
	//Singleton(const Singleton&) = delete;

	static Singleton& get() {
		return s_Instance;
	}

	void Function() {

	}
private:
	Singleton() {}

	//成员数据在复制构造函数调用时会被复制到新对象中
	float member = 0.0f;

	static Singleton s_Instance;
};

//?
Singleton Singleton::s_Instance;

int main() {
	//Singleton::get().Function();

	//正常应该这样写
	Singleton& instance = Singleton::get();

	//但是如果忘记写&,则变成调用复制构造函数了,则又是多个实例了。所以:要删除复制构造函数,这样会强制要求使用&
	//Singleton instance = Singleton::get();
}
posted @ 2026-01-01 16:49  超轶绝尘  阅读(2)  评论(0)    收藏  举报