单例模式基础实现
#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();
}