C++11 поиск в std::map с составным ключом
Я хочу реализовать функцию (findn) ниже этого поиска на std::map, чтобы найти элемент. Однако в моем случае ключ является составным значением, это <int,int>
Как я могу использовать std::map.find
Вот?
#include <iostream>
#include <map>
#include <utility>
#include <string>
using namespace std;
std::map<std::pair<int, int>, std::string> studentMap;
int insert(int i, int j, std::string name) {
if( !studentMap.insert( std::make_pair ( std::make_pair(i,j), name)).second ) {
std::cout << "game not added" << std::endl;
} else {
std::cout << "game added" << std::endl;
}
return 0;
}
void findn(int i, int j) {
// how to find when we have composite key?
}
int main() {
insert(1,1,"test");
insert(1,1,"tes");
insert(1,2,"test 2");
std::cout << studentMap.size() << std::endl;
findn(1,1);
}
1 ответ
Решение
Это сделало бы работу:
auto it = mymap.find(std::make_pair(i,j));