从unordered_map
中获取键和值的列表(作为vector
)最有效的方法是什么?
为了具体说明,假设所讨论的映射关系为unordered_map<string, double>
。然后,我想将键作为vector<string>
获取,并且将值作为vector<double>
获取。
unordered_map<string, double> um;
vector<string> vs = um.enum_keys();
vector<double> vd = um.enum_values();
我可以遍历这个映射并收集结果,但有没有更高效的方法?最好有一种方法也适用于普通的映射,因为我可能会转换到普通的映射。
std::vector<std::pair<const Key, Val>> v(map.begin(), map.end());
这个语句,它应该会给你一个键值对的向量。 - Keith Laynevector<string> vs = um.enum_keys();
代表什么? - Faheem Mithaenum_keys()
不存在,但这就是你想要的“格式”,所以我想澄清一下。 - Mateen Ulhaq