【问题标题】:make_shared how to use non default memory managementmake_shared 如何使用非默认内存管理
【发布时间】:2013-04-07 07:20:03
【问题描述】:

我对标准有疑问..

假设我有管理内存分配的池..

我想使用 shared_ptr 并检查了 API..

正如预期的那样,我看到对于 shared_ptr 我控制指针的分配,我可以给它一个释放函数,完美!!

现在我看了 STL 的讲座,发现 maked_shared 内存效率更高(因为它可以在同一个地方分配控制块和 ptr) 显然我直接去了 maked_shared api,却发现 make_shared 迫使我只使用 new/delete.. 所以问题是:

  1. 我说的对吗?仅新建/删除?
  2. 如果是,为什么?

谢谢!

【问题讨论】:

标签: c++ c++11 shared-ptr make-shared


【解决方案1】:

我相信您可以使用std::allocate_shared,它允许您使用自己的分配器。

【讨论】:

    猜你喜欢
    • 2012-10-18
    • 1970-01-01
    • 2016-05-08
    • 1970-01-01
    • 2017-02-21
    • 2013-02-11
    • 2018-12-05
    • 2015-04-18
    • 1970-01-01
    相关资源
    最近更新 更多