J'ai le code qui ressemble essentiellement comme ceci:Comment utiliser BOOST_FOREACH avec deux cartes std :: maps?
std::map<int, int> map1, map2;
BOOST_FOREACH(int i, map1)
{
// do steps 1-5 here...
}
BOOST_FOREACH(int i, map2)
{
// do steps 1-5 (identical to above) here...
}
Est-il possible de concaténer les cartes pour éliminer le code en double dans la deuxième boucle? Ou un moyen d'étendre BOOST_FOREACH pour itérer sur deux cartes différentes en une fois? Évidemment, je ne veux pas augmenter la complexité temporelle du programme (sinon je pourrais juste créer une nouvelle carte et l'insérer dans map1 et map2). J'ai le sentiment qu'il me manque quelque chose de rudimentaire ici.
était-ce intentionnellement que vous itérez over int? vous devez utiliser la paire non seulement int. ou a boost récemment gagné la possibilité d'itérer seulement sur la valeur? –
Si quoi que ce soit, je m'attendrais à une telle fonctionnalité pour itérer seulement sur la clé ... mais cela ne fonctionne pas non plus sur ma version de Boost. – ephemient