• 单例模板类


    //单例模板类,C++11能保证函数中的静态成员线程安全

    template <typename T>

    class Singleton

    {

        T* value;

        void create_singleton()

        {

            static T t;

            value =&t;

        }

    public:

        Singleton():value(){

            create_singleton();

        }

        T* get_instance()

        {

            return value;

        }

    };

     

    //要实现的单例类写法

    class my_data

    {

    private :

        my_data():i(0)

        {

            i+=rand();

        }

        int i;

    public:

        friend class Singleton<my_data>;

    };

     

    //测试

    void test_singleton()

    {

        my_data* p =(Singleton<my_data>()).get_instance();

        my_data* p2 ((Singleton<my_data>()).get_instance());

        

        if(p == p2)

        {

            std::cout<<"same"<<std::endl;

        }

    }

  • 相关阅读:
    sudo
    Ansible模块
    Ansible自动化运维
    Sersync
    eclipse报错MA
    myeclipse报错MA
    通过StringBuilder的reverse()实现倒序
    位运算实现高效互换
    scanf("%s",s)与gets(s)
    异或运算符实现简单加密
  • 原文地址:https://www.cnblogs.com/sofard/p/10450613.html
Copyright © 2020-2023  润新知