Itérer au sein de la collection STL à l'aide de pour chaque
Le mot clé d' for each peut être utilisé pour itérer au sein d'une collection de la bibliothèque C++ standard (STL).
Toutes les plateformes
Remarques
Une collection STL est également appelé un conteneur.Pour plus d'informations, consultez Conteneurs STL.
Exemples
Exemple
L'exemple de code suivant utilise for each pour itérer au sein de <map>.
// for_each_stl.cpp
// compile with: /EHsc
#include <map>
#include <iostream>
#include <string>
using namespace std;
int main() {
int retval = 0;
map<string, int> months;
months["january"] = 31;
months["february"] = 28;
months["march"] = 31;
months["april"] = 30;
months["may"] = 31;
months["june"] = 30;
months["july"] = 31;
months["august"] = 31;
months["september"] = 30;
months["october"] = 31;
months["november"] = 30;
months["december"] = 31;
map<string, int> months_30;
for each( pair<string, int> c in months )
if ( c.second == 30 )
months_30[c.first] = c.second;
for each( pair<string, int> c in months_30 )
retval++;
cout << "Months with 30 days = " << retval << endl;
}
Sortie
Exemple
L'exemple de code suivant utilise une référence const (const&) pour une variable d'itération avec des conteneurs STL.Vous pouvez utiliser une référence (&) comme variable d'itération sur des collections d'un type pouvant être déclaré comme T&.
// for_each_stl_2.cpp
// compile with: /EHsc
#include <vector>
#include <iostream>
using namespace std;
int main() {
int retval = 0;
vector<int> col(3);
col[0] = 10;
col[1] = 20;
col[2] = 30;
for each( const int& c in col )
retval += c;
cout << "retval: " << retval << endl;
}
Sortie
Windows Runtime
Remarques
Il n'existe aucune note en plateforme spécifique sur cette fonctionnalité.
Configuration requise
Option du compilateur : /ZW
Common Language Runtime
Remarques
Il n'existe aucune note en plateforme spécifique sur cette fonctionnalité.
Configuration requise
Option du compilateur : /clr