Как добавить кортеж к существующим кортежам на карте?
привет, у меня есть список кортежей с именем " c "и карта списка кортежей с именем"map1". я хочу добавить кортежи списка к специальным элементам карты. например, я хочу добавить кортеж{1,2} в map1[0]. код, который я написал, выглядит следующим образом:
list<std::tuple<int, int>> l = list<std::tuple<int, int>>(); auto it=c.begin(); while(c.size()>k) { tuple<int, int> f=it._Ptr[0]._Myval; int seed=std::get<0>(f); int Dseed=std::get<1>(f); Cmerge=find_nearest_group(Dseed); int Cnew= costof_new_group(Dseed,k); if(Cmerge<Cnew) { l.push_back(make_tuple(seed, Dseed)); map1[PMerge] = l; c.remove(f); } else { create_new_group(seed,k); for(int i=0;i<k;i++) { tuple<int, int> f=it._Ptr[0]._Myval; std::advance(it, 1); c.remove(f); } } }
проблема в том, что когда цикл while повторяется, "l" очищается, и он очищает кортежи, существующие в map, и заменяет новый Кортеж в элемент map. например, если кортежи существуют в map1[0] {3,2}, {4,5]}, а в следующем повторении Кортеж в l равен {3,6}, он заменит {3,2} и {4,5} на {3,6} в map1[0]. но я хочу добавить новый Кортеж к старым кортежам. как я могу решить эту проблему?
Что я уже пробовал:
я определил список "l" как глобальный, чтобы избежать ясности, но это не помогло