4
什麼樣的收集方法可以將一對(鍵和值)存儲在哪個鍵不唯一(技術上不會使它成爲我認爲的關鍵)?C++ Collections:如何創建類似於結構的地圖
某處在我的節目,我有:
typedef struct
{
int nKey;
string strFormType;
} KeyPair;
然後,我將存儲在使用這種結構一個矢量對象。
vector<KeyPair> vKeyList;
KeyPair MenuOne;
MenuOne.nKey = 1;
MenuOne.strFormType = "Window";
vKeyList.push_back(MenuOne);
MenuOne.nKey = 0;
MenuOne.strFormType = "Window2";
vKeyList.push_back(MenuOne);
MenuOne.nKey = 1;
MenuOne.strFormType = "WindowC";
vKeyList.push_back(MenuOne);
這基本上是我想如何存儲矢量對象。我的問題是,如果我要存儲一百個KeyPairs,我應該在循環中完成它,然後從存儲中讀取KeyPair,然後將其push_back作爲向量。
如果我要存儲這些密鑰對什麼:
KEY WINDOW
1 Window
0 Window2
1 WindowC
3 Windowfoo
1 Window
and so on...
我不能將它存儲在一張地圖,因爲你必須有一個獨特的密鑰。 KeyPair的鑰匙並不是唯一的。任何建議?
使用`multimap`作爲伊格納西奧巴斯克斯 - 艾布拉姆斯建議,或保持排序的矢量和使用`lower_bound`。 – dalle 2010-11-25 07:37:14