首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

【C++基础之9】单例模式

2013-09-18 
【C++基础之九】单例模式1.作用单例模式目的就是为了保证一个类只有一个实例。2.原理(1)私有静态指针变量实现

【C++基础之九】单例模式
1.作用

单例模式目的就是为了保证一个类只有一个实例。


2.原理

(1)私有静态指针变量实现:使用类的私有静态指针变量指向类的唯一实例,并用一个公有的静态方法获取该实例。

(2)静态局部变量实现:在公有静方法中定义指向该类的一个静态局部变量,并返回该静态局部变量。


3.实现3.1.私有静态指针变量实现3.1.1.特点

A.它有唯一一个私有的、指向类的的静态成员指针m_pInstance。

B.它有一个公有的暴露该单例的静态方法getInstance。

C.构造函数是私有的,避免从其他地方创建该类实例。

D.定义单例类中私有内嵌类CGarbo,在其析构函数中释放单例指针。

E.定义CGarbo类的一个实例作为静态成员变量,利用程序结束系统会自动析构所有全局变量的特性来自动释放单例指针。

3.1.2.示例

//Singleton2.h#pragma onceclass CSingleton2{public:static CSingleton2& getInstance(){static CSingleton2 instance;return instance;}private:CSingleton2();CSingleton2(const CSingleton2 &);CSingleton2 & operator = (const CSingleton2 &); };
3.2.3.无内存泄漏相关问题

热点排行