首页 > 其他 > 详细

单例模式(补充)

时间:2016-09-09 15:15:27      阅读:227      评论:0      收藏:0      [点我收藏+]

     单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。 如果有很多地方需要使用到单例模式,则可以改用宏来简化实现单例模式的编码工作。需要注意的是:该方案为非线程安全!

在使用单例的头文件中先声明:DECLARE_SINGLETON(classA)

然后在cpp文件中添加宏:IMPLEMENT_SINGLETON(classA)

外部调用方法:classA::Instance() 

/*
 * singleton.h
 *
 *  Created on: May 28, 2015
 *      Author: yanghui
 */

#ifndef SINGLETON_H_
#define SINGLETON_H_


#define DECLARE_SINGLETON(ClassName)     private:         static ClassName *singleton_;     public:         static ClassName *GetInstance();         static void ReleaseInstance();

#define IMPLEMENT_SINGLETON(ClassName) \
    ClassName *ClassName::singleton_ = NULL;     ClassName *ClassName::GetInstance() {         if (singleton_ == NULL) {             singleton_ = new ClassName();         }         return singleton_;     }     void ClassName::ReleaseInstance() {         if (singleton_ != NULL) {             delete singleton_;             singleton_ = NULL;         }     }

#endif /* SINGLETON_H_ */

 

单例模式(补充)

原文:http://www.cnblogs.com/ranjiewen/p/5856464.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!