pour chaque, dans
Itère dans un tableau ou une collection. Ce mot clé non standard est disponible dans C++/CLI et les projets natifs C++. Toutefois, son utilisation n'est pas recommandée. Envisagez d'utiliser une instruction Basé sur une plage, instruction (C++) standard à la place.
Tous les runtimes
Syntaxe
for each (type identifier in expression) {
statements
}
Paramètres
type
Type d'élément identifier.identifier
La variable d'itération qui représente l'élément de collection. Lorsque identifier est un % (suivi des références), vous pouvez le modifier.expression
Expression ou collection de tableaux. L'élément de collection doit pouvoir être converti par le compilateur en type d'élément identifier.statements
Une ou plusieurs instructions à exécuter.
Notes
L'instruction for each permet d'itérer au sein d'une collection. Vous pouvez modifier les éléments d'une collection, mais vous ne pouvez ni ajouter ni supprimer des éléments.
Les statements sont exécutées pour chaque élément du tableau ou de la collection. Une fois l'itération terminée pour tous les éléments de la collection, le contrôle est transféré à l'instruction placée après le bloc for each.
for each et in sont des mots clés contextuels.
Pour plus d'informations :
Comment : Itérez au sein de la collection STL avec pour chaque
Comment : Itérez sur une collection générique avec pour chaque
Comment : Itérez sur une collection définie par l'utilisateur avec pour chaque
Windows Runtime
Conditions requises
Option du compilateur : /ZW
Exemple
Cet exemple montre comment utiliser for each pour itérer au sein d'une chaîne.
// for_each_string1.cpp
// compile with: /ZW
#include <stdio.h>
using namespace Platform;
ref struct MyClass {
property String^ MyStringProperty;
};
int main() {
String^ MyString = ref new String("abcd");
for each ( char c in MyString )
wprintf("%c", c);
wprintf("/n");
MyClass^ x = ref new MyClass();
x->MyStringProperty = "Testing";
for each( char c in x->MyStringProperty )
wprintf("%c", c);
}
Sortie
Common Language Runtime
Notes
La syntaxe CLR est identique à la syntaxe Tous les runtimes, à l'exception des points suivants.
expression
Collection ou expression de tableau managé. L'élément de collection doit pouvoir être converti par le compilateur de Object en type identifier.expression correspond à un type qui implémente IEnumerable, IEnumerable, ou un type qui définit une méthode GetEnumerator qui retourne un type qui implémente IEnumerator ou déclare toutes les méthodes définies dans IEnumerator.
Conditions requises
Option du compilateur : /clr
Exemple
Cet exemple montre comment utiliser for each pour itérer au sein d'une chaîne.
// for_each_string2.cpp
// compile with: /clr
using namespace System;
ref struct MyClass {
property String ^ MyStringProperty;
};
int main() {
String ^ MyString = gcnew String("abcd");
for each ( Char c in MyString )
Console::Write(c);
Console::WriteLine();
MyClass ^ x = gcnew MyClass();
x->MyStringProperty = "Testing";
for each( Char c in x->MyStringProperty )
Console::Write(c);
}
Sortie