gpt4 book ai didi

pool - 数据结构的资源池

转载 作者:行者123 更新时间:2023-12-04 23:07:33 26 4
gpt4 key购买 nike

当实现像 stack 这样的基本数据结构时, queues , linked list等。
我应该通过成组动态分配内存来创建资源池(节点),还是应该在每次需要节点时单独分配内存?

最佳答案

这完全取决于你的目标。默认情况下(即除非你真的需要这样做),只需为每个下一个节点做一个正常的分配。

与仅分配节点相比,内存池:

  • 使分配更快。取决于底层分配机制,有时明显更快。
  • 通常内存碎片较少,尽管这对于某些分配器可能不是问题。
  • 主要缺点:在保留但未使用的节点上浪费内存。如果您不加选择地使用数据结构(例如 1000 个实例)而不是只使用几个实例,这非常重要。

  • 由于缺点,内存池不适用于一般情况。

    在 C++ 中,所有标准容器都有一个 allocator模板参数。

    关于pool - 数据结构的资源池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3270632/

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