zoukankan      html  css  js  c++  java
  • 单例模板类

    //单例模板类,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;

        }

    }

  • 相关阅读:
    android发送/接收json数据
    Android 图文数据JSON解析
    Android中View绘制流程以及invalidate()等相关方法分析
    Android WebView常见问题及解决方案汇总
    非递归方法的堆排序实现
    快速排序算法
    从导数谈起
    Linux网络编程8——对TCP与UDP的简易封装
    Linux网络编程7——使用TCP实现双方聊天
    Linux网络编程6——使用TCP实现文件服务器
  • 原文地址:https://www.cnblogs.com/sofard/p/10450613.html
Copyright © 2011-2022 走看看