2013-01-09 205 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中找到相同的容器。