C++基础知识(单例模式)

       单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。

C++基础知识(单例模式)_第1张图片

 Singleton(单例):在单例类的内部实现只生成一个实例,同时它提供一个静态的getInstance()工厂方法,让客户可以访问它的唯一实例;为了防止在外部对其实例化,将其默认构造函数和拷贝构造函数设计为私有;在单例类内部定义了一个Singleton类型的静态对象,作为外部共享的唯一实例。

思路总结:

          1、构造函数私有化:如果没有私有化,就可以创建多个对象实例,与目标(保证只有一个对象实例)不符;

          2、静态类指针私有化:如果没有私有化,可能会被置为NULL,因为是static类型,就是共享数据;

          3、提供公有的静态get方法,因为要获取到私有的静态指针属性。

          4、私有的静态指针需要在类外进行初始化;

          5、为防止

你可能感兴趣的:(C++,设计模式,单例模式,c++,开发语言)