这是一个系列的文章,详情可点击关于这两年所经历项目的系列总结
在实现下一个游戏功能之前,我们先得实现一下单例模式,因为游戏中有很多地方会用到这样的功能,比如工具类等这些在游戏中只存一份的,需要用到单例模式。
这功能也无需多说,直接上代码,.h文件如下
#ifndef _SINGLETON_H_
#define _SINGLETON_H_
template<class T>
class Singleton
{
private:
static T * iInstance;
public:
static T * getInstance();
static void FreeInstance();
};
template<class T>
T * Singleton<T>::iInstance=0;
template<class T>
T * Singleton<T>::getInstance()
{
if(iInstance == 0)
{
iInstance=new T();
}
return iInstance;
}
template<class T>
void Singleton<T>::FreeInstance()
{
if(iInstance)
{
delete iInstance;
iInstance=0;
}
}
#endif
关于如何使用该类,下一讲中就会用到。
分享到:
相关推荐
单例模式 C++ 实现
C++11实现线程安全的单例代码和测试代码,包含singleton.h,main.cpp,希望帮助到大家。
设计模式C++学习之单例模式(Singleton)
Headfirst第五章单例模式C++实现
本人使用C++实现的单例模式,实现方式有三种,包括单线程下的,多线程下的代码。
设计模式中的单例模式,涉及饿汉与懒汉模式,C++语言。
使用"懒汉模式"与"饿汉模式"实现c++的单例模式,并且确保了单例模式的第一次实例化的线程安全,以及程序结束时,单例对象的资源收回,以防内存资源的泄漏
C++单例设计模式,单例模式 C++单例设计模式,单例模式
李建忠老师的设计模式-单例模式讲解,示例以C++编程语言呈现。
采用C++ 的单例模式设计,
http://blog.csdn.net/zerolxl/article/details/8026739 博客代码
自己写的c++实现的单例模式日志类。支持多线程、日志等级、可输出每条日志的输出时间(精确到毫秒级),日志级别,支持可变长参数、标准格式化输出。 代码中包含VS2010示例程序,使用方便。
本资源描述了C++11 中多线程的创建,C++11中std命名空间中将boost库中的Thread加入,boost多线程从准标准变为标准,其中还介绍了C++ 多线程下的单例模式的使用,本文档为txt文档
C++推箱子(单例模式)
本文档,是利用C++来实现设计模式中的,单例模式,里面有内容说明和相关实例代码介绍
QT_C++单例模式懒汉+饿汉,设计模板,使用QT打开pro文件编译即可,默认控制台输出。
本资源是《C++中的单例模式及按需释放模型》系列博文的例子,文章地址为http://blog.csdn.net/gogogo/article/details/7009862,其中提到了如何在C++正确使用单例模式,并讲解了使用辅助类实现可以按需释放的单例...
自己用VC2010写的工厂模式和单例模式的实现
最近在做游戏开发,阅读了一些源码后做了一些总结与记录,希望对自己和其他的朋友有所帮助
c++设计模式-创建型模式-单例模式源码,懒汉式 饿汉式源码,qt工程,单例模式线程安全问题,单例模式实现方式