Récupération des clés et des valeurs d'un std::map dans un vecteur
Lorsque vous travaillez avec std::maps, il est souvent nécessaire de traiter les clés ou les valeurs individuellement. Bien que la définition d'un foncteur personnalisé puisse accomplir cette tâche, il existe des méthodes plus efficaces disponibles.
Utilisation d'itérateurs :
L'approche la plus simple consiste à utiliser les itérateurs 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; }
Utiliser Boost Bibliothèque :
Si vous utilisez la bibliothèque Boost, vous pouvez exploiter la macro BOOST_FOREACH pour une plus grande simplicité :
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"; }
En utilisant ces approches, vous pouvez extraire et traiter efficacement le clés ou valeurs d'un std::map dans un vecteur sans avoir besoin de foncteurs complexes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!