是否可以在 C++ 中重载 stl::map 的分配器/释放器?如果是,那怎么办?任何帮助,将不胜感激。
问问题
1524 次
2 回答
4
是的,您可以将其指定为模板参数:
map<Key, Data, Compare, Alloc>
见http://www.sgi.com/tech/stl/Map.html和http://www.sgi.com/tech/stl/Allocators.html
于 2011-01-11T10:38:10.490 回答
3
是的,可以这样做。如果您注意到,所有 STL 容器都通过一个模板参数进行参数化,该参数指示应从何处获取内存。这通常使用 STD::allocator 类型完成,但您也可以提供自己的自定义分配器。由于分配器要求的各种设计限制,这并不容易做到,但有几个很好的链接。这是一个:
http://www.roguewave.com/Portals/0/products/sourcepro/docs/11.1/html/toolsug/11-6.html
于 2011-01-11T10:40:08.317 回答