c++中unordered_map的条目类型是什么
What's the type of an entry of an unordered_map in c++
我有一个数据结构:
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)
如您的示例所示迭代 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
,因为 myFunc
的参数类型中 pair
的第一个元素必须是 const
合格的。
我有一个数据结构:
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)
如您的示例所示迭代 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
,因为 myFunc
的参数类型中 pair
的第一个元素必须是 const
合格的。