Maison >développement back-end >C++ >Comment puis-je extraire efficacement les clés et les valeurs d'un std :: map vers des vecteurs ?

Comment puis-je extraire efficacement les clés et les valeurs d'un std :: map vers des vecteurs ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-11 02:31:10369parcourir

How Can I Efficiently Extract Keys and Values from a std::map into Vectors?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn