【问题标题】:Custom Allocator in tr1's unordered_maptr1 的 unordered_map 中的自定义分配器
【发布时间】:2011-06-13 21:01:49
【问题描述】:

我有一些关于 unordered_map 的自定义分配器的问题。我有一个大型数据集,我需要将字符串作为键进行散列。所以我开始知道提供自定义内存分配器可以优化速度。但是我该怎么做呢? (我检查了 SO,但我找不到任何关于使用自定义分配器的信息,尽管有一些与自定义哈希函数等相关的东西)

还有什么 unordered_map::size() 返回?它说它是最长的受控序列。我对这意味着什么感到困惑。是桶数本身还是其他?

非常感谢

【问题讨论】:

  • 如果您关心性能或内存占用,Boost/stdlib unordered_map 可能不是最佳选择。尝试使用Google SparsehashMCT 进行封闭哈希(后者的文档还包含有关根据需要选择最佳哈希表实现的建议)。 size() 只返回元素的数量,就像在任何其他容器中一样。

标签: c++ hash tr1 unordered-map allocator


【解决方案1】:

如果你现在还没有得到答案,你想检查一下

http://en.cppreference.com/w/cpp/container/unordered_map

对于您想要检查的分配器

http://www.sgi.com/tech/stl/Allocators.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 2014-12-28
    • 2012-03-23
    • 2011-01-22
    • 1970-01-01
    • 2010-09-07
    相关资源
    最近更新 更多