3

我在 MSVC 2010 中使用unordered_map。如果我在其中插入许多元素,它就会开始调整大小。在此过程中,它会复制所有对并重新散列它们。当有太多对象时,会花费太多时间。有什么技巧可以避免这种影响吗?类似于储备的东西,但在 VS 2010 中没有实现

4

2 回答 2

3

改用rehash吗?它的功能似乎reserve

于 2012-07-25T18:06:32.807 回答
2

如果您事先知道要添加多少元素,则可以使用创建 unordered_mapexplicit unordered_map( size_type nbuckets = N0, const Hash& hfn = Hash(), const Pred& comp = Pred(), const Alloc& al = Alloc())并将某些内容作为nbuckets( msdn ) 传递。

于 2012-07-25T18:02:41.830 回答