freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c內(nèi)存池設(shè)計(jì)-在線瀏覽

2024-09-22 10:52本頁面
  

【正文】 POOLSIZE = 1000。 //內(nèi)存初始分配內(nèi)容 二進(jìn)制位 1111 1111 static const int NEW_ALLOCATED_MEMORY_CONTENT = 0xFF。 //指向后一節(jié)點(diǎn) TMemeNode *next。 //節(jié)點(diǎn)是否被使用 bool isUsed。 //記錄內(nèi)存池分配的首地址 bool isMemeBegin。 //使用者對(duì)象的地址 void **pUser。 }。sInitialMemoryPoolSize = DEFAULTMEMEPOOLSIZE, const size_t amp。 ~CMemePool()。sSize)。sSize)。 //展示內(nèi)存池的使用情況 void ShowTheMemePoolStatue()。 private: //禁止復(fù)制與構(gòu)造,要傳遞就用引用吧 CMemePool(CMemePool *tCMemePool)。 operator =(CMemePool amp。 void AllocPoolMemeroy()。 void CalMemeSize()。 void UpdateLinkNodeSize(TMemeNode *PNode)。sSize)。sSize)。 void CleanAllMemeDate()。 void ResetLinkToMemery()。 //雙向鏈表的當(dāng)前節(jié)點(diǎn) TMemeLinkNode *m_Current。 EigthByte *m_PAlloc。 //內(nèi)存塊分配數(shù)目 size_t m_Number。 //每一個(gè)內(nèi)存塊的大小 size_t m_MemLinkSize。 //內(nèi)存塊總分配大小 size_t m_AllAloctsize。 //內(nèi)存池空閑的大小 size_t m_MemePoolFreeSize。 //保存錯(cuò)誤信息 string m_sError。 }。 // //recalloc 分配新內(nèi)存后,之前指向舊內(nèi)存的指針就失效了 //需要重新定位,之前分配對(duì)象的指向也要重新定位 namespace MemePool { /***************************************** 內(nèi)存池構(gòu)造函數(shù) by 風(fēng)清揚(yáng) song 130728 *****************************************/ CMemePool::CMemePool(const size_t amp。sMemoryChunkSize) { //初始化內(nèi)存池的大小 m_MemePollSize = sInitialMemoryPoolSize。 //初始化一些參數(shù) m_MemePoolFreeSize = 0。 m_Current = NULL。 m_Number = 0。 m_AllNumber = 0。 m_Head = new TMemeLinkNode。 m_Headfirst = NULL。 m_isFirst = true。 } /***************************************** 內(nèi)存池析構(gòu)函數(shù) by 風(fēng)清揚(yáng) song 130728 *****************************************/ CMemePool::~CMemePool() { FreeAllMemeroy()。 //計(jì)算真正要分配的內(nèi)存大小 CalMemeSize()。 m_AllAloctsize += m_MemePollSize。 //追加分配內(nèi)存,原有內(nèi)存的內(nèi)容不會(huì)受到影響 m_PAlloc = (EigthByte *)realloc(m_PAlloc,(m_AllAloctsize)*sizeof(EigthByte))。 return。 } //分配的內(nèi)存內(nèi)容初始化 // memset(((void *) PAlloc), NEW_ALLOCATED_MEMORY_CONTENT, m_MemePollSize) 。m_PAlloc[m_AllAloctsize m_MemePollSize])。 int iIndex = 0。m_PAlloc[iIndex * m_MemLinkSize]。 } iIndex++。 } } /***************************************** 計(jì)算需要的內(nèi)存鏈表節(jié)點(diǎn)數(shù)目 by 風(fēng)清揚(yáng) song 130728 *****************************************/ void CMemePool::CalLinkNodeNum() { float fTempValue = m_MemePollSize / m_MemLinkSize。 } /***************************************** 計(jì)算內(nèi)存池真正分配的內(nèi)存的大小 by 風(fēng)清揚(yáng) song 130728 *****************************************/ void CMemePool::CalMemeSize() { m_MemePollSize = (size_t)(m_Number * m_MemLinkSize)。 //遍歷每一個(gè)節(jié)點(diǎn)分配空間 for(size_t iIndex = 0。 iIndex ++) { PNode = new TMemeLinkNode()。 m_Headnext = PNode。 m_LastNode = PNode。 m_LastNodenext = PNode。 m_LastNode = PNode。 m_LastNodeidataSize = m_MemePollSize iIndex * m_MemLinkSize。PAlloc[iIndex * m_MemLinkSize]。 m_LastNodepUser = NULL。amp。 m_isFirst = false。 } /***************************************** 更新當(dāng)前節(jié)點(diǎn)的前后大小值 by 風(fēng)清揚(yáng) song 130728 *****************************************/ void CMemePool::UpdateL
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1