我正在寻找一种用于快速迭代时间的连续数据结构,并结合通过密钥进行快速随机访问。此外,我需要有效地从索引中取回密钥。目前,我使用标准库中不同集合的组合。
std::vector<Value> values;
std::unordered_map<Key, size_t> indices;
std::unordered_map<size_t, Key> keys;
这可行,但它需要一些胶水代码,并且可能不会尽可能快。似乎boost::multi_index_container
正是我需要的。但是,它是否将值连续存储在内存中?