2013-01-09 166 views
0

我想创建一个类似于缓存的组关联结构(http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Memory/set.html)。有一些集合,每个集合都包含一些方法。每种方式都有一些字段,但是集合中的所有方式都有独特的字段(标签)。创建组关联数组

我看到std::multiset可以用于我的目的。还有其他选择吗?任何想法?

+0

看起来更像是你想要一个地图/套餐/列表的地图(取决于你想要做什么,也许更多的细节可能在这里有所帮助)。由于您需要一个密钥(本例中为标签)和多个值,Multisets可能不适合您的需要。 –

+0

你能举一个“套图”的例子吗?我的意思是插入/查找/删除程序 – mahmood

回答

4

对于缓存我通常使用std :: map,std :: multimap或者它们的哈希等值。事实上,hash_map通常会更好一些,所以这里可能是更好的选择。在C++ 11中hash_map被称为unordered_map,现在是标准的一部分,所以我建议你使用这个标准。它也有一个叫做unordered_multimap的多版本。如果C++ 11不是一个选项,可以在boost中找到相同的容器。