• 首页
  • 文件
  • 下载
  • 状态
  • 常见问题
  • 邮件列表
  • 应用程序
  • 外部链结
  • 版权
  • 志愿者
  • 联络

类别:AllocationGroup

记忆体配置统一管理

类型 使用 成员 说明
建构子 public AllocationGroup(void)
解构子 public ~AllocationGroup(void)
资料 protected long linkCount 记忆体区块数量。
资料 protected AllocationLink * linkBlocks
资料 protected AllocationLink * spareLinks
资料 protected AllocationLink * allocations 所有配置的记忆体。
函式 public virtual void * alloc (int size) 配置一块新的记忆体。
函式 public virtual void free (void * memory) 将一个区块的记忆体从本群当中释放。
函式 public virtual void release (void) 将全部配置的记忆体释放掉。
函式 protected virtual AllocationLink * allocate (int count = 16 ,
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 ) ;

};