C++单例类的正确实现方法

   2024-10-05 3910
核心提示:在C++中,单例模式可以通过以下几种方式来实现:饿汉式单例模式:class Singleton {public:static Singleton getInstance() {sta

在C++中,单例模式可以通过以下几种方式来实现:

饿汉式单例模式:
class Singleton {public:    static Singleton& getInstance() {        static Singleton instance;        return instance;    }    Singleton(const Singleton&) = delete;    Singleton& operator=(const Singleton&) = delete;private:    Singleton() {}};
懒汉式单例模式:
class Singleton {public:    static Singleton& getInstance() {        static Singleton instance;        return instance;    }    Singleton(const Singleton&) = delete;    Singleton& operator=(const Singleton&) = delete;private:    Singleton() {}};
使用静态成员变量的单例模式:
class Singleton {public:    static Singleton& getInstance() {        static Singleton instance;        return instance;    }    Singleton(const Singleton&) = delete;    Singleton& operator=(const Singleton&) = delete;private:    Singleton() {}    static Singleton instance;};Singleton Singleton::instance;

以上是几种常见的单例模式实现方法,其中饿汉式单例模式在程序启动时即创建实例,懒汉式单例模式在第一次调用时创建实例,使用静态成员变量的单例模式也是在第一次调用时创建实例。在实现单例模式时需要注意线程安全性和资源释放等问题。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号