std :: multimap和std :: vector之间的交叉?

Mil*_*kov 3 c++ stdvector

我正在寻找一个像std :: multimap一样工作的STL容器,但是对随机的第n个元素有不断的访问时间.我需要这个,因为我在内存中有这样的结构std :: multimap有很多原因,但是存储在其中的项必须在列表框中呈现给用户.由于数据量巨大,我正在使用带有虚拟项目的列表框(即列表控制轮询X行的值).

作为一种解决方法,我目前正在使用额外的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);
Run Code Online (Sandbox Code Playgroud)

但这不是很优雅的解决方案.

有一些这样的包装?

Jam*_*mes 5

你需要的是: 提升多指数