從unordered_map
獲取密鑰和值的列表(作爲vector
)的最有效方式是什麼?從unordered_map獲取密鑰和值列表
具體而言,假設有問題的地圖是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> v(map.begin(),map.end()); '應該給你一個鍵值對的向量。 –
@ keith.layne:我在爲鍵和值尋找單獨的向量。 –
正如我所說,這沒有什麼內置的。見下文。 –