⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t_compactobjset.h

📁 魔域的服务端源代码。Visual C++编译的版本
💻 H
字号:
////////////////////////////////////////////
// T_CompactObjSet.h
// paled, 2003.2.17
// 说明:该SET只能放“非堆分配”对象,且构造函数和析购函数不会被调用。
//		 此SET内部的对象只能调用成员函数(如Create(...))来显式初始化和析购。
///////////////////////////////////////////

#ifndef T_COMPACTOBJSET_H
#define T_COMPACTOBJSET_H

#include "common.h"


template<TYPENAME T>
class CompactObjSet
{
public:
	CompactObjSet()	{ m_buf = NULL; }					
	~CompactObjSet() { if(m_buf) delete []m_buf;}
public:
	bool	Create(int nSize)						{ CHECKF(!m_buf); m_nSize = nSize; m_buf = new char[sizeof(T)*m_nSize]; clear(); return m_buf != NULL; }
public:
	int		size()									{ return m_nSize; }
	T*		operator [](int idx)					{ return (T*)(m_buf + sizeof(T)*idx); }
	void	clear()									{ memset(m_buf, 0, sizeof(T)*m_nSize); }
protected:
	char*	m_buf;
	int		m_nSize;
};


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -