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);
이것은 기본적으로 개체를 벡터에 저장하는 방법입니다. 내 문제는, 만약 내가 100 개의 KeyPairs를 저장하려고한다면, 나는 루프에서 그것을 수행해야만하고, 저장 장치에서 KeyPairs를 읽은 다음 벡터를 push_back한다. 당신이 고유 키를 가지고 있기 때문에
KEY WINDOW
1 Window
0 Window2
1 WindowC
3 Windowfoo
1 Window
and so on...
내가지도에 저장할 수 없습니다 : 나는이 키 쌍을 저장해야 할 경우에는 어떻게
. 내가 가지고있는 KeyPair의 키는 고유하지 않습니다. 어떠한 제안? 이그나시오 바스케스 - 에이 브람스 등의 multimap`
사용은'제안, 또는 정렬 된 벡터를 유지하고'lower_bound'를 사용합니다. – dalle