当前位置:  开发笔记 > 编程语言 > 正文

我不明白std :: tr1 :: unordered_map

如何解决《我不明白std::tr1::unordered_map》经验,为你挑选了2个好方法。

我需要一个关联容器,它让我通过一个字符串索引一个特定的对象,但这也保持了插入的顺序,所以我可以通过它的名字查找一个特定的对象,或者只是迭代它并按照我插入的相同顺序检索对象他们.

我认为链接列表和哈希映射的这种混合应该可以完成这项工作,但在我尝试使用之前std::tr1::unordered_map认为它以我所描述的方式工作之前,但事实并非如此.那么有人可以解释一下我的意思和行为unordered_map吗?


@wesc:我确定std :: map是由STL实现的,而我确定std :: hash_map不在STL中(我认为旧版本的Visual Studio将它放在名为stdext的命名空间中).

@cristopher:所以,如果我做对了,差异在于实现(以及性能),而不是它在外部的行为方式.



1> 小智..:

您已经询问了为什么制作Boost :: MultiIndex的规范原因:列出按键快速查找的插入顺序. Boost MultiIndex教程:列出快速查找



2> Adam Mitz..:

您需要以两种方式索引关联容器:

广告订单

字符串比较

尝试Boost.MultiIndex或Boost.Intrusive.我没有用这种方式,但我认为这是可能的.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有