从 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();
我可以遍历地图并收集结果,但有没有更有效的方法?有一个也适用于常规地图的方法会很好,因为我可能会切换到那个。
原文由 Faheem Mitha 发布,翻译遵循 CC BY-SA 4.0 许可协议
好的,给你:
效率可能会提高,但确实如此。不过,您在两个容器上进行操作,因此实际上没有任何 STL 魔法可以隐藏这一事实。
正如路易斯所说,这将适用于任何 STL
map
或set
容器。