Qt-单例模式

单例模式

    定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。

               

   最常见的使用方法:

class CSingleton
{
private:
    CSingleton() //构造函数是私有的
    {
    }
public:
    static CSingleton * GetInstance()
    {
        static CSingleton *m_pInstance;
        if(m_pInstance == NULL) //判断是否第一次调用
            m_pInstance = new CSingleton();
        return m_pInstance;
    }
};

显而易见,构造函数私有化。

提供一个public 可以获取这个实例,也是唯一一个实例。

注意点:

1. 单例模式和它的名字一样,只有一个实例,独一无二。

2. 它是自行创建自己的实例,而不是 在其他类中new出来的。

3. 它提供public接口,供其他对象使用。


常用的方向:线程池(threadpool)、缓存(cache)、对话框、处理偏好设置和注册表(registry)的对象、日志对象、充当打印机、显卡等设备的驱动程序的对象。


最常见的一个出错地方:


解决这个问题,网上最常见的方式是,一种加锁,一种是在启程序的时候就初始化此实例。

没有实践过,不做过多叙述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值