map с тремя элементами в качестве ключа
Хочу создать словарь с тремя элементами, но не знаю как это сделать. В качестве ключа хочу передавать pair<string, string>, string, а в качестве значения обычный int. Возможно ли создать такой словарь? Если да, то как добавлять туда элементы и как производить поиск?
Ответы (1 шт):
Автор решения: Alex
→ Ссылка
Как и подсказал @Harry решил использовать tuple:
map<tuple < pair<string, string>, string>, int> triple_combo_map; // создаю словарь
tuple < pair<string, string>, string> tup_for_map;
pair<string, string> pr(pairs[i][0], pairs[i][1]); // создаю пару
tup_for_map = make_tuple(pr, pairs_vec_all[n]);
triple_combo_map[tup_for_map] = 1; // кладу tuple в словарь и присваиваю к примеру значение 1