С++ как вставлять в multimap?
Я хочу настроить multimap в С++:
multimap<pair<string, string>, vector<double> > mmList;
Но как вставлять данные:
mmList.insert(pair<string, string>, vector<double>("a", "b", test));
Ответы
Ответ 1
Вы можете создавать пары с помощью std::make_pair(a, b)
. Как правило, вы можете вставлять пары в карты/мультиплексы. В вашем случае вам нужно построить пару, состоящую из пары строк и вектора:
std::multimap<std::pair<std::string, std::string>, std::vector<double> > mmList;
std::vector<double> vec;
mmList.insert(std::make_pair(std::make_pair("a","b"), vec));
Ответ 2
Вот пример:
std::multimap<std::string,std::string> Uri_SessionId_Map;
std::string uri = "http";
std::string sessId = "1001";
std::pair<std::string,std::string> myPair(uri,sessId);
Uri_SessionId_Map.insert(myPair);
Просто сломал несколько строк для большей удобочитаемости. Вы можете понять, как сделать пару. пара должна иметь такую же шаблонную форму, как и для мультимапа.