模板应用--线程安全且lazy initialization的单例模式

介绍

       用c++写代码已经有些年头了,从初学时的过程式编程,到简单的面向对象编程,再到各种设计模式的应用,然后是范型编程,现在又有要回到过程式的赶脚,这么一路走来,每进入一个新的阶段都有迎面清风很舒爽的感觉,并不是舍弃前一阶段的编程方式,而是对什么情况采用哪种编程方式有了更深的认识。最近想对c++模板应用做个总结,然后一直琢磨着写什么内容,就自己这点脑容量和贫乏的墨水,又能写什么。。。那就老老实实写项目中用到的吧。先写第一篇,在单例模式的应用,接下来还有观察者模式,再接下来。。。再说。

背景

      单例模式,单从它的作用来看,貌似是GOF提出的设计模式中最简单的一个,百度百科解释: 通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。依此,很容易就能想到一种简单的方法,如下代码所示:

class resource
{
protected:
    static resource inst_;
//! constructor
resource(){}
public:
    static resource& instance(){
        return inst_;
    }
    // others....
};
// static implement

客户代码中直接这样使用:resource::instance().call_func();这种代码看上去简单且使用方便,单例模式,也就这么回事儿~~~随着代码越写越多,需要“单例”的类也越来越多,没关系,
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值