【发布时间】:2013-07-20 08:06:20
【问题描述】:
我对使用多个 std map
我的问题是,尽管使用 Boost pool_alloc 之类的东西来管理元素本身的分配,std map 是否仍会使用少量堆内存作为某种形式的容器开销,而不是由 boost pool_alloc 管理?关于使用 std map 本身,我正在考虑指向元素的指针?
【问题讨论】:
-
您要的是一个包含指针的容器吗?抱歉问了,但到目前为止我还没有明白...
-
@Stefan:不,不是包含指针的容器。鉴于自定义分配器将负责元素本身的分配,我问 std::map 的所有容器内存开销是否也将由自定义分配器覆盖。我希望这有助于澄清我的问题
-
好的。明白了。不。特定分配器负责在堆上为特定元素分配空间,而不是为容器本身分配空间。如果你想改变,你需要为你的特定容器重载 operator new/delete。
标签: c++ dictionary heap-memory std memory-pool