gpt4 book ai didi

类及其派生类的 C++ 内存池

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:49:03 24 4
gpt4 key购买 nike

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

当我们还可以考虑具有更大尺寸的 A 的派生类时,是否有如此简单的实现?谢谢

最佳答案

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

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

关于类及其派生类的 C++ 内存池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13405850/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com