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

📄 pubfuncs.h.svn-base

📁 QT写的自动更新程序 自认为不错 请大家参考
💻 SVN-BASE
字号:
#ifndef __PUBFUNC_H_INCLUDED
#define __PUBFUNC_H_INCLUDED

#include "global.h"

namespace pubfunc
{
	//释放一个指针
	template <typename TPTR>
		inline static void release(TPTR*& _ptr)
		{
			if (_ptr)
			{
				delete _ptr;
				_ptr = NULL;
			}
		}

	//释放数组
	template <typename TARRTYPE>
		inline static void releasearray(TARRTYPE*& _ptrarr)
		{
			if (_ptrarr)
			{
				delete[] _ptrarr;
				_ptrarr = NULL;
			}
		}
	//初始化数据
	template <typename TTYPE>
		inline static void identity(TTYPE*& _ptr)
		{
			_ptr = NULL;
		}

	//移除空单元
	//需要手动删除
	template <typename TTYPE>
		inline static TTYPE* skipEmpty(const TTYPE* _ptr, const int size)
		{
			TTYPE* parray = new TTYPE[size];
			memset(parray, 0, sizeof(TTYPE) * size);

			int i = 0, j = 0;
			for (i=0; i<size; i++)
			{
				if (_ptr[i] != NULL)
					parray[j++] = _ptr[i];
			}

			return parray;
		}

	//合并字符串容器为一个字符串
	template <typename TSTR, typename TSTRCON>
		inline static TSTR combine(const TSTRCON& obj, const TSTR& spliter)
		{
			typedef TSTRCON::const_iterator TCIter;
			
			TSTR re;

			TCIter iterdata = obj.begin();
			while (iterdata != obj.end())
			{
				re += *iterdata + spliter;
				++iterdata;
			}

			return re;
		}
}

#endif

⌨️ 快捷键说明

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