1

我正在寻找一种用于快速迭代时间的连续数据结构,并结合通过密钥进行快速随机访问。此外,我需要有效地从索引中取回密钥。目前,我使用标准库中不同集合的组合。

std::vector<Value> values;
std::unordered_map<Key, size_t> indices;
std::unordered_map<size_t, Key> keys;

这可行,但它需要一些胶水代码,并且可能不会尽可能快。似乎boost::multi_index_container正是我需要的。但是,它是否将值连续存储在内存中?

4

1 回答 1

2

Boost.MultiIndex 不会连续存储值,尽管它的随机访问索引提供了类似向量的访问,其性能可能足以满足您的需求。

于 2014-09-16T15:35:06.620 回答