zoukankan      html  css  js  c++  java
  • 单件模式以及内存释放

    #include<iostream>
    using namespace std;

    class Singleton
    {
    private:
        Singleton(){ cout << "singleton construct" << endl; }
        static Singleton* _instance;
        class Cleaner
        {
        public:
            Cleaner(){ cout << "cleaner construct" << endl; }
            ~Cleaner()
            {
                
                if (Singleton::_instance)
                    delete Singleton::_instance;
                cout << "cleaner deconstruct" << endl;
                cout << "singleton deconstruct" << endl;
            }
        };
    public:
        static Singleton* Instance()
        {
            if (_instance == NULL)
            {
                _instance = new Singleton();
                static Cleaner cl;
            }
            return _instance;
        }
    };
    Singleton* Singleton::_instance = NULL;

    int main()
    {
        Singleton *s1 = Singleton::Instance();
        Singleton *s2 = s1;
        return 0;
    }

  • 相关阅读:
    PKUSC 2018 题解
    [bzoj 1758] 重建计划
    bzoj 5329 [SDOI2018] 战略游戏
    bzoj 5285 [HNOI2018] 寻宝游戏
    Django 之认证模块
    Django之form表单
    Django 之AJAX
    Django 之中间组件
    Django之 Cookie,Session
    Django之F和Q查询等其他查询
  • 原文地址:https://www.cnblogs.com/da-peng/p/4936664.html
Copyright © 2011-2022 走看看