MyDog--内存--pool

  • 首先有个能创建固定长度的内存块的池
/// <summary>
/// 申请固定大小的内存池
/// 内部使用类,不考虑那些安全隐患的地方
/// 比如不用考虑归还的内存是否长度对应等
/// </summary>
class MyDogPoolFixSize
{
	uint16 mNum;
	int32 fixsize;
	void* mPool;
public:
	/// <summary>
	/// fixs为固定内存大小
	/// 最小为sizeof(void*) + 1
	/// </summary>
	MyDogPoolFixSize(int32 fixs);
	~MyDogPoolFixSize();
	/// <summary>
	/// 创建cnt个内存放入池里
	/// </summary>
	void create(int32 cnt = 1);
	/// <summary>
	/// 申请内存
	/// </summary>
	vptr apply();
	/// <summary>
	/// 回收内存
	/// </summary>
	void free(vptr data);
	/// <summary>
	/// releasePro是每次release时的释放比例(百分比)
	/// </summary>
	void release(int8 releasePro = 60);
};

在这个基础上,对这些池进行管理,于是就有了


#pragma pack(push)
#pragma pack(1)
	struct PoolConfItem {
		uint32 fixsize;//用于MyDogPoolFixSize初始化
		uint8 releasePro;//每次release时的释放比例(百分比)
		uint16 releaseCD;//释放cd 秒
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值