從 std::map 擷取鍵和值到向量
使用 std::map 時,通常需要單獨處理鍵或值。雖然定義自訂函子可以實現此任務,但還有更有效的方法可用。
使用迭代器:
最直接的方法是使用std::map 迭代器:
std::map<int, int> m; std::vector<int> keys; std::vector<int> values; for (std::map<int, int>::iterator it = m.begin(); it != m.end(); ++it) { keys.push_back(it->first); values.push_back(it->second); std::cout << "Key: " << it->first << std::endl; std::cout << "Value: " << it->second << std::endl; }
使用升壓>使用升壓圖庫:
如果您使用Boost 函式庫,您可以利用BOOST_FOREACH 巨集來更簡單:
std::map<int, int> m; std::vector<int> v; BOOST_FOREACH(const std::pair<int, int>& me, m) { v.push_back(me.first); std::cout << me.first << "\n"; }
透過利用這些方法,您可以有效地提取和處理將 std::map 中的鍵或值映射到向量中,而不需要複雜的函子。
以上是如何有效地將 std::map 中的鍵和值提取到向量中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!