代码之家  ›  专栏  ›  技术社区  ›  Andreas Loanjoe

从原始指针构造shared-ptr是否分配?

  •  0
  • Andreas Loanjoe  · 技术社区  · 6 年前

    我处于一种需要无锁分配的情况下,所以我可以从池分配的内存中分配一个原始指针,然后用一个自定义删除器创建一个唯一的指针,将其放回池中,目前为止还不错。

    但是,在共享的情况下,如果我用这些原始指针和自定义分配器之一构造一个共享指针,它会在那一点分配控制块吗?

    如果有,有没有一种方法可以以无锁的方式为控制块提供内存?

    1 回复  |  直到 6 年前
        1
  •  3
  •   Lightness Races in Orbit    6 年前

    但是,在共享的情况下,如果我用这些原始指针和自定义分配器之一构造一个共享指针,它会在那一点分配控制块吗?

    对。

    shared_ptr 的构造函数具有接受自定义分配器的重载。

    参考 some shared_ptr documentation .

    )我不太清楚 whether the deleter will also be allocated by your custom allocator .)