什么是c ++中unordered_map条目的类型

时间:2015-07-06 05:55:20

标签: c++ c++11 hashmap unordered-map

我有一个数据结构:

unordered_map<pair<string, string>, unordered_map<pair<int, int>, double>> myMap;

我使用for循环来获取它的条目,并使用此条目作为我的函数的输入:

for (auto& map : myMap) { 
  auto myReturn = myFunc(map);
}

但是当我写myFunc时,我不知道参数的类型是什么,是pair吗?

string myFunc(pair<pair<string, string>, unordered_map<pair<int, int>, double>> map)

1 个答案:

答案 0 :(得分:0)

如示例所示,对unordered_map进行迭代将产生unordered_map::value_type,即std::pair<const Key, Value>。因此,在您的情况下,变量map的类型是

std::pair<const pair<string, string>, unordered_map<pair<int, int>, double>>

您无法致电myFunc,因为pair参数类型中myFunc的第一个元素必须符合const