C语言中单例模式是如何实现的?

摘要:单例模式基础实现 #include<iostream> class Singleton { public: 删除复制构造函数,防止复制,那就不是单例了 Singleton(const Si
单例模式基础实现 #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(); }