Коллекции C ++: как создать карту как структуру - PullRequest
4 голосов
/ 25 ноября 2010

Какой метод сбора будет хранить пару (ключ и значение), где ключ не является уникальным (который, я думаю, технически не делает его ключом)?

Где-то в моей программе:

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);      

Это в основном то, как я хочу хранить объекты в векторе. Моя проблема в том, что если я хочу сохранить как сто пар ключей, я должен делать это в цикле и просто считывать пары ключей из хранилища, а затем отправлять их обратно в вектор.

Что делать, если мне нужно сохранить эти пары ключей:

 KEY WINDOW
 1   Window 
 0   Window2
 1   WindowC
 3   Windowfoo
 1   Window
 and so on... 

Я не смог сохранить его на карте, потому что у вас должен быть уникальный ключ. Ключи ключей, которые у меня есть, не уникальны. Любое предложение?

1 Ответ

11 голосов
/ 25 ноября 2010
...