5

是否有一个通用的算法或实现来拥有一个适用于 aclass A及其派生类的内存池?创建一个仅适用于特定类 A 的 O(1) 内存池是相当容易的。例如:分配一大块数据,即每次需要分配时分配10*sizeof(A)1à 大小的块。sizeof(A)

当我们还可以考虑 A 的派生类时,是否有这样一个简单的实现?谢谢

4

1 回答 1

1

这真的取决于你对简单的定义是什么。正如杰克所说,您可以使用最大派生类的大小作为内存池数组的元素大小。这绝对是一个简单的实现。

如果某些类型的大小是最大类型的一半或更小,您可以修改实现以允许第二个实例占用一个已占用兼容实例的插槽。如果适用,这也可以扩展到四分之一尺寸类型。

于 2012-11-15T21:25:50.947 回答