• template用法(c++)



    #include <stddef.h>

    template<typename T>
    class Singleton
    {
    public:
        static T &getInstance ()
        {
            if(NULL == instance)
            {
                instance = new T();
            }
            return *instance;
        }

        static void delInstance ()
        {
            if(NULL != instance)
            {
                delete instance;
                instance = NULL;
            }
        }

    protected:
        Singleton ()
        {
        }
        ~Singleton ()
        {
        }

    private:
        Singleton (const Singleton &)
        {
        }
        Singleton &operator = (const Singleton &)
        {
        }
        static T *instance;
    };

    template<typename T>
    T *Singleton<T>::instance = NULL;

    /* init*/

    class BaseClient{};

    class TestClient :public BaseClient, Singleton<MyClass>{};

    BaseClient *pClient = NULL;
        switch (id)
        {
            case INDEX1:
                pClient = &TestClient::getInstance();

        break;
        }

  • 相关阅读:
    DAY 169 创建虚拟环境05
    DAY 168 创建虚拟环境04
    DAY 167 创建虚拟环境03
    DAY 166 创建虚拟环境02
    java 内存区域
    java 内存机制
    JAVA GC
    JAVA根搜索算法
    mysql ---事务
    java lock -----锁
  • 原文地址:https://www.cnblogs.com/BloodAndBone/p/1955232.html
Copyright © 2020-2023  润新知