我需要为共享指针使用自定义分配器吗?

4
如果我重载operator new和operator delete(或者传递一个自定义的删除器),那么传递allocator有什么用? shared_ptr除了构造和析构之外,会在其他时间进行分配和释放吗?

如果您为程序提供了内存池,那么您是否需要进行分配并可能会提供分配器呢?换句话说,如果我管理自己的内存,出于任何原因,我希望系统按照我所需的方式“分配”内存,即不像某些情况下不幸发生的那样占用大量不必要的空间。 - ChiefTwoPencils
我将编写一个分配器,因为容器需要它。我在这里询问的只是为什么shared_ptr需要一个分配器,因为已经将指向分配内存的指针传递给构造函数。我是否应该期望shared_ptr在幕后自己分配东西? - Thomas
我可能会小心地说,分配器通常不是容器所必需的。标准文档中允许使用分配器,但并不像你所说的那样是必须的。queue 是容器类之一,但并不要求提供分配器。 - ChiefTwoPencils
1
当然啦。我的意思是我们使用的容器需要这个。 :) - Thomas
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接