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
→ Ссылка