【发布时间】:2018-06-10 20:12:13
【问题描述】:
在过去的几天里,我浏览了这里和类似的网站,并花了很多时间试图提出解决方案,并想寻求建议。
我得出了一个令人失望的结论,即如果不进入 C++ 的 boost 库,就不可能创建一个保留索引排序的关联容器。
更清楚和更具体地,我需要的是一个地图,它可以使用 operator[key] 进行查找,但也可以按添加元素的顺序进行索引以用于迭代目的。
今天早上我决定我需要自己编写一个,并且我尝试了一些使用地图和对矢量等的方法。但实际上没有任何效果,并且获得我正在寻找的所有功能令人惊讶用这种语言不容易实现。我一定是错的吧?有没有其他人有过需要此功能或熟悉此概念的经验,可以为我指明我正在寻找的正确方向?
提前非常感谢!大家新年快乐。
【问题讨论】:
-
当然可以在语言中使用 - 您是否尝试过使用
Map<Key, Node*>进行键查找,并使用支持Vector<Node>并按插入顺序插入/删除项目? -
@KillzoneKid 令人惊讶的是没有!这是我在这方面的第一个错误解决方案。
-
你看过 boost::multi_index 吗?我不确定它是否可以满足您的需求。
-
@SornelHaetir 我确实简要地看了它,我相信我正在寻找的大部分内容都可以在那里找到,但老实说,我对像 boost 和语法和构造这样的外部库的经验为零因为那个 multi_index 对象对我来说看起来非常混乱。哈哈。我希望在进行这种教育之前找到一个更简单的解决方案。
-
@hnefatl 当然,我的错,甚至不知道我在想什么
标签: c++ dictionary indexing unordered-map