gpt4 book ai didi

c++ - 多类型分配器设计

转载 作者:搜寻专家 更新时间:2023-10-31 01:52:01 24 4
gpt4 key购买 nike

我正在研究一种动态语言的运行时库,更具体地说是研究它的内存分配。

我将使用垃圾回收,但我认为允许用户在需要时使用自己的内存分配器会更好。然而,在查看了standard c++ allocator之后接口(interface),我没有看到任何方法来拥有通用分配器(除了通过在 char 上进行模板化,但它看起来很老套)。

  • 使用标准分配器接口(interface)是个好主意吗?
  • 如果是,分配多个类型的可能设计是什么?

注意:我的库使用 C++11,所以我说的是"new"分配器接口(interface)。

最佳答案

正如@Cubbi 所说,看allocator::rebind .分配器的实际类型参数几乎无关紧要。标准容器使用allocator::rebind更改为他们实际需要的类型。特别是,关联容器需要分配节点来保存自己的数据以及容器名义上保存的数据对象。所以allocator::rebind用于获取 allocator<Node<T>>来自 allocator<T> .

关于c++ - 多类型分配器设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13275070/

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