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

正文內(nèi)容

c++內(nèi)存池設(shè)計(jì)-預(yù)覽頁

2025-08-20 10:52 上一頁面

下一頁面
 

【正文】 void **pUser。sInitialMemoryPoolSize = DEFAULTMEMEPOOLSIZE, const size_t amp。sSize)。 //展示內(nèi)存池的使用情況 void ShowTheMemePoolStatue()。 operator =(CMemePool amp。 void CalMemeSize()。sSize)。 void CleanAllMemeDate()。 //雙向鏈表的當(dāng)前節(jié)點(diǎn) TMemeLinkNode *m_Current。 //內(nèi)存塊分配數(shù)目 size_t m_Number。 //內(nèi)存塊總分配大小 size_t m_AllAloctsize。 //保存錯(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。 //初始化一些參數(shù) m_MemePoolFreeSize = 0。 m_Number = 0。 m_Head = new TMemeLinkNode。 m_isFirst = true。 //計(jì)算真正要分配的內(nèi)存大小 CalMemeSize()。 //追加分配內(nèi)存,原有內(nèi)存的內(nèi)容不會(huì)受到影響 m_PAlloc = (EigthByte *)realloc(m_PAlloc,(m_AllAloctsize)*sizeof(EigthByte))。 } //分配的內(nèi)存內(nèi)容初始化 // memset(((void *) PAlloc), NEW_ALLOCATED_MEMORY_CONTENT, m_MemePollSize) 。 int iIndex = 0。 } iIndex++。 } /***************************************** 計(jì)算內(nèi)存池真正分配的內(nèi)存的大小 by 風(fēng)清揚(yáng) song 130728 *****************************************/ void CMemePool::CalMemeSize() { m_MemePollSize = (size_t)(m_Number * m_MemLinkSize)。 iIndex ++) { PNode = new TMemeLinkNode()。 m_LastNode = PNode。 m_LastNode = PNode。PAlloc[iIndex * m_MemLinkSize]。amp。 } /***************************************** 更新當(dāng)前節(jié)點(diǎn)的前后大小值 by 風(fēng)清揚(yáng) song 130728 *****************************************/ void CMemePool::UpdateLinkNodeSize(TMemeNode *PNode) { TMemeNode *PTemp。amp。amp。 } m_Current = PNodenext。 //保存請(qǐng)求內(nèi)存分配的用戶信息 m_User = p。 } TMemeNode *PTemp。 } //跳過已經(jīng)分配的節(jié)點(diǎn) if(true == m_CurrentisUsed) { m_Current = m_CurrentpEndNode。 } if(PTemp == m_Current) { break。 return FindMemeNode(sSize)。 if(0 == m_Number) { m_Number = 1。 false == m_CurrentisUsed) { CalNeetLinkNumber(sSize)。 m_Current = m_Currentnext。 return pTempData。 m_MemePoolUseSize = sSize。 } //恢復(fù)內(nèi)存為初始化 //memset(((void *) pFindData), NEW_ALLOCATED_MEMORY_CONTENT, sSize) 。 pFind = pFindnext。 while(NULL != PTemp) { if(PTempData == (EigthByte *) p) { //釋放內(nèi)存的用戶清空之前保存的用戶信息 PTemppUser = NULL。 } /***************************************** 清空線程池 by 風(fēng)清揚(yáng) song 130728 *****************************************/ void CMemePool::FreeAllMemeroy() { //所有內(nèi)存對(duì)象都釋放了 if(0 != m_iUseObject) { m_sError = warning there is some object not release。 while(NULL != pTemp) { //內(nèi)存被連城了一塊,從首地址就可以全部刪除 if(pTempisMemeBeginamp。 } pTemp = pTempnext。 delete qTemp。 TMemeLinkNode *pTemp = m_Headnext。 pTemp = pTempnext。ptrCharArray,700) 。 g_ptrMemPoolShowTheMemePoolStatue()。 g_ptrMemPoolFreeAllocMemeroy(ptrCharArray, 700) 。 ptrCharArray = (char *) g_ptrMemPoolGetMemeroy((void**)amp。 i 1200。 char c = ptrCharArray[800]。 std::cout MemoryPool Program finished... std::endl
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1