开发者社区> 夏春涛> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

【转】模板化的单例模式

简介: from:http://www.haogongju.net/art/1535572  作者:mr_nop | 出处:博客园 | 2012/7/10 11:44:40   最近看的android代码,看到一个模板实现的单例模式,相当易用。
+关注继续查看

from:http://www.haogongju.net/art/1535572 

作者:mr_nop | 出处:博客园 | 2012/7/10 11:44:40

 

最近看的android代码,看到一个模板实现的单例模式,相当易用。

直接继承即可。做个记录

 1 template <typename TYPE>

 2 class Singleton
 3 {
 4  public:
 5  static TYPE& getInstance() {
 6  Mutex::Autolock _l(sLock);
 7  TYPE* instance = sInstance;
 8  if (instance == 0) {
 9  instance = new TYPE();
10  sInstance = instance;
11  }
12  return *instance;
13 }

14 protected:
15  ~Singleton() { };
16  Singleton() { };
17 private:
18  Singleton(const Singleton&);
19  Singleton& operator = (const Singleton&);
20  static Mutex sLock;
21  static TYPE* sInstance;
22 };

23 //用法如下。class OverlayMgr : public Singleton<OverlayMgr>
24 {
25 }

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
单例模式
什么是单例模式?在一个项目中,单例模式确保某一个类只能有一个实例,这个类称为单例类。怎样确保某个类只能有一个实例,通常调用方法有两种方式: 创建类的一个对象,即new出一个对象,用该对象去调用类中方法; 使用类名直接调用类中方法,格式“类名.方法名()”想要类只有一个实例,必不能随意通过new出对象,禁止new对象就只能私有化构造方法,采用“类名.方法名()”这种方式获取方法。
1260 0
单例模式
单例模式的定义如下: 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 单例类自身保存它的唯一实例,这个类保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。 单例模式的一些特点: 构造方法私有化,防止外部通过访问构造方法创建对象; 提供一个全局方法使其单例对象被外部访问; 考虑多线程并发情况的单例唯一性。
1092 0
单例模式
饿汉式单例 public class Singleton { private Singleton(){} private static Singleton instance = new Singleton(); public...
748 0
单例模式
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40254498/article/details/79133275 懒...
528 0
单例模式
模式定义 单例模式(Singleton Pattern):单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。
766 0
单例模式
所有单例模式都有一个共性,那就是这个类没有自己的状态。也就是说无论这个类有多少个实例,都是一样的;然后除此者外更重要的是,这个类如果有两个或两个以上的实例的话程序会产生错误。 基于上述原因,非线程安全的实现方式,在此不再讨论。
540 0
单例模式
单例模式 标签 : Java与设计模式 经典的《设计模式:可复用面向对象软件的基础》一书归纳出23种设计模式, 23种设计模式又可划分为3类: 创建型模式, 结构型模式, 行为型模式.
923 0
设计模式---单例模式 (转)
看别人写的设计模式 觉得很好。  引用别人的 自己就不造轮子了。。。。。  转载  http://liuqing9382.iteye.com/blog/1441661 单例模式: 三个要点: 1.某个类只能有一个实例。
812 0
+关注
夏春涛
曾任教于信息工程大学16年,长期从事计算机软件与信息安全教学科研工作,目前任职于某软件公司从事技术管理工作,擅长架构设计、开发管理,对大数据、分布式颇感兴趣。
271
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载