栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > C/C++/C#

C++内存池的实现

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++内存池的实现

 最近写了一个C++内存池类,大家一起来鉴赏一下:

MemoryPool.h文件

#include 
#include 
#include 
  

#define  MEMPOOL_ALIGNMENT 8            //对齐长度
//内存块,每个内存块管理一大块内存,包括许多分配单元
class MemoryBlock
{
public:
                    MemoryBlock (int nUnitSize,int nCount);
                    ~MemoryBlock()
					{
						printf("~MemoryBlock()n");
					};
     void*    operator  new    (size_t  t, int nUnitSize,int nCount);
  
 
    int             nSize;              //该内存块的大小,以字节为单位
    int             nFree;              //该内存块还有多少可分配的单元
    int             nFirst;             //当前可用单元的序号,从0开始
    MemoryBlock*    pNext;              //指向下一个内存块
    char            aData[1];           //用于标记分配单元开始的位置,分配单元从aData的位置开始
     
};
 
class MemoryPool
{
public:
                    MemoryPool (int _nUnitSize,   int _nGrowSize = 3,    int _nInitCount = 3);
        
转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1037989.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号