Partager via


Comment : Itérez au sein de la collection STL avec pour chaque

Le mot clé de for each peut être utilisé pour itérer sur une collection de bibliothèque C++ standard (STL).

Toutes les plateformes

Remarques

Une collection de STL est également appelé conteneur. Pour plus d'informations, consultez Conteneurs STL.

Exemples

Exemple

L'exemple de code suivant utilise for each pour effectuer une itération 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 les conteneurs de STL. Vous pouvez utiliser une référence (&) en tant que variable d'itération sur toute collection d'un type qui peut ê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 de plateforme spécifique sur cette fonctionnalité.

Conditions requises

Option du compilateur : /ZW

Common Language Runtime

Remarques

Il n'existe aucune remarque de plateforme spécifique sur cette fonctionnalité.

Conditions requises

Option du compilateur : /clr

Voir aussi

Référence

pour chaque, dans

Concepts

Fonctionnalités de langage pour cibler le CLR