单例模式 【宏定义实现】
来源:互联网 发布:国家网络应急中心考试 编辑:程序博客网 时间:2024/04/28 22:20
一、代码实现
SingletonMacroDef.h
#pragma once//单例宏定义,头文件声明#define DECLARE_SHARE(ClassName) \ private:\ static ClassName* m_spInstance;\ public:\ static ClassName* GetInstance()\ {\ if(NULL == m_spInstance)\ {\ m_spInstance = new ClassName(); \ static Cleaner s_clean;\ }\ return m_spInstance;\ }\ private:\ class Cleaner\ {\ public:\ Cleaner(){}\ ~Cleaner()\ {if( ClassName::GetInstance() ) delete ClassName::GetInstance();}\ };\//CPP文件静态变量声明#define BUILD_SHARE(ClassName)\ ClassName* ClassName::m_spInstance = NULL;
二、使用方式(示例)
- ConfigMan.h
#pragma once#include "SingletonMacroDef.h"#define gConfig ConfigMan::GetInstance()class ConfigMan{ DECLARE_SHARE(ConfigMan)public: ConfigMan(); ~ConfigMan(); void Init();}
- ConfigMan.cpp
#include "stdafx.h"#include "ConfigMan.h"BUILD_SHARE(ConfigMan)ConfigMan::ConfigMan(){}ConfigMan::~ConfigMan(){}void ConfigMan::Init(){ printf("Hello world!");}
- Test.cpp
#include "stdafx.h"#include <windows.h>#include "ConfigMan.h"int _tmain(int argc, _TCHAR* argv[]){ gConfig->Init(); system("PAUSE"); return 0;}
阅读全文
0 0
- C++ 宏定义实现单例模式
- 单例模式 【宏定义实现】
- OC宏定义实现单例设计模式
- objective-C之宏定义实现单例设计模式
- C++宏定义实现单件模式
- 设计模式-单例模式2(宏定义和模板实现)
- 宏定义C++单例模式
- C++使用宏定义单例模式
- 模式 - 单例(定义为宏)
- 单例模式之类定义
- IOS开发中常用的单例模式宏定义
- Single_GCD_单例模式——宏定义
- 设计模式系列之一__单例模式(1)__基本定义以及实现
- 单例模式实现
- 单例模式实现
- 实现单例模式
- 单例模式实现
- 单例模式实现
- 2017——生活不仅有苟且,还有诗和远方
- 云星数据---Scala实战系列(精品版)】:Scala入门教程032-Scala实战源码-Scala 对象 02 单例对象
- ionic项目修改安卓发布的项目包名
- JNI Java调用so包相关问题总结
- layer插件移动端弹出框示例
- 单例模式 【宏定义实现】
- java的ArrayList使用方法详解(清晰的讲解)
- [待完成]Android Service的<service>标签
- 如何创建属于自己的Git(一)
- C#中StringBuilder类的使用
- 快排、堆排序、插入法比较
- 命令查看Linux服务器内存、CPU、显卡使用情况
- erlang 编译安装
- CMA debug