類別:AllocationGroup
記憶體配置統一管理
類型 | 使用 | 成員 | 說明 |
建構子 | public | ||
解構子 | public | ||
資料 | protected | 記憶體區塊數量。 |
|
資料 | protected | ||
資料 | protected | ||
資料 | protected | 所有配置的記憶體。 |
|
函式 | public | 配置一塊新的記憶體。 |
|
函式 | public | 將一個區塊的記憶體從本群當中釋放。 |
|
函式 | public | 將全部配置的記憶體釋放掉。 |
|
函式 | protected | AllocationLink * nextBlock = NULL , AllocationLink * nextSpare = NULL ) ; |
僅供內部使用的函式。 |
建議
外部程式不應使用這個類別,這是專門為了「音訊驅動介面」內部使用的類別,使用於整群記憶體配置的紀錄功能。每次配置一個新 的記憶體區塊,這個類別就會記錄下來,釋放的時候,整群記憶體均會一起釋放,如此可以減少錯誤及降低需要記錄的變數數量。C/C++定義
class AllocationGroup{
public:
explicit AllocationGroup (void) ;
virtual ~AllocationGroup (void) ;
virtual void * alloc (int size) ;
virtual void free (void * memory) ;
virtual void release (void) ; // Free all
protected:
long linkCount ;
AllocationLink * linkBlocks ;
AllocationLink * spareLinks ;
AllocationLink * allocations ;
virtual AllocationLink * allocate (int count = 16 ,
AllocationLink * nextBlock = NULL ,
AllocationLink * nextSpare = NULL ) ;
};