模式解释
百度:
这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供了一个全局访问点来访问该实例。
注意:
- 1、单例类只能有一个实例。
- 2、单例类必须自己创建自己的唯一实例。
- 3、单例类必须给所有其他对象提供这一实例。
主要解决的问题:
频繁创建和销毁全局使用的类实例的问题。
可应用的场景:数据库的连接类
注:一个工程项目里,多个函数接口里都会调用同一种类型变量,可以将其改为单例,
即每次出现都是只有他一个,不需要重复定义。
代码用法实例呈现
//------------------------头文件-类定义:
class Iniconfig{ protected: Iniconfig(); public: static Iniconfig* getInstance(); private: static Iniconfig* config; }
//---------------------------源文件:
Iniconfig* Iniconfig::config = nullptr; Iniconfig* Iniconfig::getInstance() { if (config == nullptr) { config = new Iniconfig(); } return config; }
步骤:
a、头文件:
1、在其类成员里,定义一个静态指针
2、定义一个获取实例的方法:getInstance();
3、将构造函数设置为 protect 状态,全局唯一,防止多次构造定义
b、源文件:
标签:定义,getInstance,Iniconfig,模式,实例,单例,config From: https://blog.csdn.net/the_dry/article/details/1438693861、实现 static Iniconfig* getInstance();
2、对静态成员变量定义