Die foreach-Loop in C++

Einführung

Die foreach-Loop in C++ oder genauer gesagt, die bereichsbasierte for-Loop, wurde mit C++11 eingeführt. Diese Art von for-Loopnstruktur erleichtert das Durchlaufen eines iterierbaren Datensatzes. Sie macht dies, indem sie den Initialisierungsprozess ausschließt und über jedes einzelne Element anstelle eines Iterators iteriert. Lassen Sie uns die jeweilige foreach-Loopnstruktur genauer betrachten.

Funktionsweise der foreach-Loop in C++

Grundsätzlich iteriert eine foreach-Loop über die Elemente von Arrays, Vektoren oder anderen Datensätzen. Sie weist dem in dem Loop deklarierten Variablen-Iterator den Wert des aktuellen Elements zu. Lassen Sie uns einen genaueren Blick auf die Syntax werfen:

for(type variable_name : array/vector_name)
{
    loop statements
    ...
}

Wie wir sehen können:

  • Bei dem Loop Initialisierung ist die deklarative Variablenzuweisung der Teil, in dem wir die Variable deklarieren müssen, die über das Array oder den Vektor iteriert.
  • Hier ist der Typ der Datentyp der Variablen_name
  • array/vector_name ist der Name des jeweiligen Datensatzes, über den die Loop iterieren wird,
  • Loop Anweisungen sind die verschiedenen Operationen, die der Benutzer über die entsprechenden Elemente mit der iterierenden Variablen durchführen kann.

Hinweis: Es wird empfohlen, den Datentyp der Variablen gleich dem des Arrays oder Vektors zu halten. Wenn der Datentyp nicht derselbe ist, werden die Elemente typgecastet und dann in die Variable gespeichert.

Beispiele für foreach-Loopn

1. Beispiel für foreach-Loop für Arrays in C++

Der untenstehende Code illustriert die Verwendung der foreach-Loop in C++,

#include
using namespace std; 
int main() 
{ 
    int arr[]={1,2,3,4,5};   //array initialization
    cout<<"The elements are: ";
    for(int i : arr)
    {
    	cout<<i<<" ";
    }
    return 0;
}

Output:

The elements are: 1 2 3 4 5

Lassen Sie uns den Code Zeile für Zeile durchgehen:

  • Ein Array arr[] wird mit einigen Werten {1, 2, 3, 4, 5} initialisiert
  • Innerhalb der Loop Struktur speichert ‚i‘ den Wert des aktuellen Arrayelements
  • arr ist der Arrayname, der auch als Basisadresse des entsprechenden Arrays dient
  • Wie wir sehen können, gibt das Ausdrucken von ‚i‘ bei jeder Iteration die entsprechenden Arrayelemente im Gegensatz zu den Array-Indizes im Falle einer normalen for-Loop aus

Bitte beachten Sie: Bei der Deklaration der Variablen ‚i‘ könnten wir auch den Datentyp auto anstelle von int verwenden. Dies stellt sicher, dass der Typ der Variablen vom Arraytyp abgeleitet wird und keine Datentypkonflikte auftreten.

Zum Beispiel:

#include
using namespace std; 
int main() 
{ 
    int array[]={1,4,7,4,8,4};
    cout<<"The elements are: ";
    for(auto var : array)
    {
    	cout<<var<<" ";
    }
    return 0;
}

2. Beispiel für foreach-Loop für Vektoren in C++

Der folgende Code illustriert die Verwendung der foreach-Loop für das Iterieren über einen Vektor.

#include
#include
using namespace std; 
int main() 
{ 
    vector vec={11,22,33,44,55,66};
    cout<<"The elements are: ";
    for(auto var : vec)
    {
    	cout<<var<<" ";
	}
    return 0;
}

Die foreach-Loop für Vektoren funktioniert auf die gleiche Weise wie für ein Array. Darüber hinaus sind die einzigen Unterschiede die Vektorendeklaration, -initialisierung und die verschiedenen Operationen, die darüber durchgeführt werden können.

Vorteile und Nachteile der foreach-Loop in C++

1. Vorteile der foreach-Loop

  • Sie eliminiert die Möglichkeit von Fehlern und macht den Code lesbarer.
  • Einfach zu implementieren
  • Erfordert keine Vorinitialisierung des Iterators

2. Nachteile der foreach-Loop

  • Kann nicht direkt auf die entsprechenden Element Indizes zugreifen
  • Kann die Elemente nicht in umgekehrter Reihenfolge durchlaufen
  • Erlaubt dem Benutzer nicht, irgendwelche Elemente zu überspringen, da sie alle durchlaufen werden

Schlussfolgerung

Die foreach-Loop in C++ hat ihre eigenen Vor- und Nachteile. Ein vollständiger Code ist leicht lesbar, aber er schränkt einige der Aktionen ein, die die normale for-Loop bietet. Daher hängt es vollständig vom Benutzer ab, was er/sie mit dem Loop erreichen möchte und dementsprechend auswählt.

Kostenlosen Account erstellen

Registrieren Sie sich jetzt und erhalten Sie Zugang zu unseren Cloud Produkten.

Das könnte Sie auch interessieren: