我正在寻找一个类似于 std::multimap 的 STL 容器,但是可以在常量时间内访问任意第 n 个元素。我需要这个容器是因为我在内存中有这样的结构是 std::multimap,由于各种原因,其中存储的项目必须以列表框的形式呈现给用户。由于数据量庞大,我正在使用虚拟项目的列表框(即列表控件轮询第 X 行的值)。
目前,我正在使用额外的 std::vector 来存储 std::map 中的“索引”,并且我像这样填充它:
但这并不是一个非常优雅的解决方案。
是否存在某种类似的容器?
目前,我正在使用额外的 std::vector 来存储 std::map 中的“索引”,并且我像这样填充它:
std::vector<MMap::data_type&> vec;
for (MMap::iterator it = mmap.begin(); it != mmap.end(); ++it)
vec.push_back((*it).second);
但这并不是一个非常优雅的解决方案。
是否存在某种类似的容器?