CMemFile

CMemFile

CMemFile,為支持記憶體檔案的CFile的派生類。記憶體檔案的行為類似於磁碟檔案,所不同的是該檔案存儲在RAM中,而不是磁碟上。記憶體檔案用於快速暫時存儲,以及在獨立的進程間轉換位元組或可串列化的對象。

基本介紹

  • 外文名:CMemFile
  • CMemFile:構造一個記憶體檔案對象
  • Attach:附加記憶體塊到CMemFile中
  • Alloc:可覆蓋以用於修改記憶體分配行為
函式功能,構造函式,

函式功能

CMemFile對象能夠自動地分配它們的記憶體空間,或通過調用Attach函式為CMemFile對象附加記憶體塊。另一種情形,如果nGrowBytes非零,那么將自動地以nGrowBytes為單位為增加的記憶體檔案分配記憶體。
可以通過提供的指針訪問記憶體塊,此時可以通過調用Detach函式將其從CMemFile對象中分離出來。
CMemFile函式最一般的用途是創建CMemFile對象,並通過調用CFile成員函式來使用它。值得注意的是當創建CMemFile後將自動得打開它:不要調用僅僅用於磁碟檔案的CFile::Open函式,其原因在於沒有使用數據成員CFile::m_hFile。
CFile成員函式Duplicate, LockRange和UnlockRange對於CMemFile無效。如果在CMemFile對象中調用了這些函式,那么將獲得CnotSupported Exception。
CMemFile使用了運行庫函式malloc, realloc,和free來分配、重新分配和釋放記憶體,而原有的memcpy函式在進行讀寫時,可以塊拷貝。如果希望改變這種行為或CMemFile增大檔案的行為,那么應當從CMemFile中派生自己的類,並輔以適當的函式。
#include <afx.h>
CMemFile類的成員

構造函式

操作


從CMemFile中分離記憶體塊,並返回被分離的記憶體塊的指針
高級可覆蓋的函式


可覆蓋以用於修改釋放記憶體行為
可覆蓋以用於修改重新分配記憶體行為
可覆蓋以用於讀寫時修改記憶體拷貝行為
GrowFile
可覆蓋以用於修改檔案增大時的行為

相關詞條

熱門詞條

聯絡我們