boost :: multi_index_container是否连续存储在内存中?

时间:2014-09-16 12:27:37

标签: c++ boost collections boost-multi-index

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

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

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

1 个答案:

答案 0 :(得分:2)

Boost.MultiIndex 连续存储值,但其随机访问索引提供类似矢量的访问,可能足以满足您的需求。