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;

        }

    }

  • 相关阅读:
    day7随笔
    day6随笔
    day5笔记
    uniapp 全屏蒙版下的其他view禁止滑动
    uniapp scroll-view 组件右侧的滚动条
    uni 组件 头部
    根据两点的经纬度查询两点间的距离
    仅供学习使用的一些 相关vue类
    仅供学习使用的一些样式+行为
    百度地图简单调用
  • 原文地址:https://www.cnblogs.com/sofard/p/10450613.html
Copyright © 2011-2022 走看看