首页
登录 | 注册

单例的几种实现方式

1,最简单的,最直观的,用静态成员函数
  1. class test{
  2. public:
  3. static test* getInstance(){
  4. static test s_t;
  5. return &s_t;}
  6. }

2,一种耦合性更低的方法。

  1. class base{
  2. public:
  3.     base():m_t(0){
  4.         assert(!m_self);
  5.         m_self=this;
  6.     }

  7.     static base* getP(){
  8.         assert(m_self);
  9.         return m_self;
  10.     }

  11. private:
  12.     static base* m_self;

  13. public:
  14.     int m_t;
  15. };

  16. base* base::m_self=0;

  17. class Test:public base{
  18. public:
  19.     int m_n;
  20. };

  21. static Test s_t;

  22. int main(){
  23.     base* bb=base::getP();
  24.     return 0;
  25. }

一个使用第二种方法的例子:
test.rar

相关文章

  • 初探Java设计模式1:创建型模式(工厂,单例等)
    一直想写一篇介绍设计模式的文章,让读者可以很快看完,而且一看就懂,看懂就会用,同时不会将各个模式搞混.自认为本文还是写得不错的,花了不少心思来写这文章和做图,力求让读者真的能看着简单同时有所收获. 有一些重要的设计原则在开篇和大家分享下,这 ...
  • 程序员面试系列之Java单例模式的攻击与防御
    Java面试系列-webapp文件夹和WebContent文件夹的区别? Java程序员面试系列-什么是Java Marker Interface(标记接口) 编程面试题:编写一个会造成数据库死锁的应用 使用JavaScript ES6的新 ...
  • 使用Xamarin.Forms的企业应用程序模式(电子书)--依赖注入
    通常,在实例化对象时调用类构造函数,并将对象需要的任何值作为参数传递给构造函数. 这是依赖注入的一个例子,具体称为构造函数注入. 对象需要的依赖项被注入到构造函数中. 通过将依赖项指定为接口类型,依赖注入可以使具体类型与依赖于这些类型的代码 ...
  • 使用Xamarin.Forms的企业应用程序模式(电子书)--配置管理
    设置允许将配置应用程序行为的数据与代码分离,允许在不重新构建应用程序的情况下更改行为.有两种类型的设置:应用设置和用户设置. 应用设置是应用程序创建和管理的数据.它可以包括固定Web服务端点,API密钥和运行时状态等数据.应用设置与应用的存 ...
  • 《循序渐进Linux》第二版即将出版发行(附封面)
    从<循序渐进Linux>第一版发布,到现在已经近6年了,6年的时间,技术发生了很大的变化,Linux系统的内核版本从2.6.9(RHEL4.x)已经更新到了现在的3.10(Centos7.x),第一版中的部分内容已经陈旧,Lin ...
  • 微信公众号中看到的一篇文章,挺全的,想要走架构师这条路的程序员可以作为参考学习计划,个人感觉深度有余,广度不足. Java架构师主要需要做哪些工作呢? 1.负责设计和搭建软件系统架构(平台.数据库.接口和应用架构等),解决开发中各种系统架构 ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.013 s.
京ICP备10005923号