首页 > 编程语言 > 详细

C++实现单例模式

时间:2019-09-18 23:30:23      阅读:112      评论:0      收藏:0      [点我收藏+]
#include<iostream>
#include<mutex>
using namespace std;

mutex mtx;

class CSingleton
{
private:
    CSingleton() //构造函数是私有的
    {
    }
    static CSingleton *Instance;
public:
    static CSingleton * GetInstance()
    {
        if(Instance == NULL){    
            mtx.lock();
            if(Instance == NULL)
                Instance = new CSingleton();
            cout<<"This is singleton"<<endl;
            mtx.unlock();
        }
        
        return Instance;
    }
    void print()
    {
        cout<<"aaa"<<endl;
    }
};
CSingleton* CSingleton::Instance = 0;//类静态变量需要在类外初始化

int main()
{
    CSingleton* a = CSingleton::GetInstance();
    a->print();
    return 0;
}

 

C++实现单例模式

原文:https://www.cnblogs.com/jodio/p/11546052.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!