从 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中文网其他相关文章!