美文网首页
c++11中线程安全单例模式 Meyers Singleton

c++11中线程安全单例模式 Meyers Singleton

作者: less_sleep | 来源:发表于2021-04-05 21:36 被阅读0次

     static Singleton ( Meyers Singleton)

    class Singleton {

    public:

    static Singleton& Instance() {

      static Singleton theSingleton;

      return theSingleton;

    }

    /* more (non-static) functions here */

    private:

    Singleton(); // ctor hidden

    Singleton(Singleton const&); // copy ctor hidden

    Singleton& operator=(Singleton const&); // assign op. hidden

    ~Singleton(); // dtor hidden

    };

    2 call_once

    Singleton* Singleton::m_instance;

    Singleton* Singleton::getInstance() {

        static std::once_flag oc;//用于call_once的局部静态变量

        std::call_once(oc, [&] {  m_instance = new Singleton();});

        return m_instance;

    }

    https://blog.csdn.net/10km/article/details/49777749

    相关文章

      网友评论

          本文标题:c++11中线程安全单例模式 Meyers Singleton

          本文链接:https://www.haomeiwen.com/subject/dwfjkltx.html