繁体   English   中英

使用单例模式进行延迟初始化

[英]Lazy initialization with singleton pattern

以下代码是否有助于延迟初始化
或者,只要有人包含标题(甚至在程序启动时),就会创建singletonInstance吗?

class SingletonClass
{
    private:
         SingletonClass();
        ~SingletonClass();

    public: 

        static const SingletonClass& Instance()
        {
            static SingletonClass singletonInstance;
            return singletonInstance; 
        }
};

这被称为迈耶斯单身人士 ,他们是懒惰的实例。

有一些注意事项:

  • 单例将在程序结束时以与创建它们相反的顺序销毁,因此可能存在依赖性问题。
  • C ++ 03不保证在多线程环境中不受竞争条件的影响。

SingletonClass构造函数不会被调用早于某些人调用Instance()方法。

因此,它有利于延迟初始化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM