Как сохранить адреса другой неупорядоченной карты в другую неупорядоченную карту, а затем использовать их для ссылок? - PullRequest
1 голос
/ 10 апреля 2019

Я сохраняю целочисленные значения в 2 разных unordered_map, скажем, map1 и map2. Теперь я сохраняю адрес этих карт в другой основной неупорядоченной карте, скажем, arr_maps, используя некоторый ключ, уже определенный. Теперь я хочу получить доступ к соответствующей карте на основе значения ключа. Значение является адресом памяти map1 / map2. Я передаю эти адреса функции для доступа к ним, потому что я не копирую всю карту в другую карту, просто хочу сослаться на нее. Я не могу этого сделать. Не получить ссылку на карту, но код строит

Я пробовал ссылаться, но это не работает

 **#header files here** 

 unordered_map<string, unordered_map<ui,ui>*> arr_map; //Global declaration

 function test(unordered_map<ui,ui>& cmap)
 {
   ui deg_index;

   unordered_map<ui, ui>::const_iterator get = cmap.find(0);
   //"0" is present in cmap, but not able to reference the map

   if(get_node_deg == curr_node_deg.end())
    //do something
 }

 main()
 {
   unordered_map<ui, ui> map1,map2;

   map1.emplace(0,0);
   map1.emplace(1,1);
   arr_map.emplace("01",&map1);

   map2.emplace(0,1);
   map2.emplace(1,2);
   arr_map.emplace("12",&map2);

   test(arr_map["01"]);//not able to reference it
   // want to pass the reference of map 1 and use it, instead of copying the whole map

   test(arr_map["12"]);//same here
 }
...