Zuhause Persönliche Finanzen C ++ - Programmierung: Gehen Sie durch eine Liste - Dummies

C ++ - Programmierung: Gehen Sie durch eine Liste - Dummies

Video: 03D.3 Primzahlen bis 100 zählen; verschachtelte Schleifen 2024

Video: 03D.3 Primzahlen bis 100 zählen; verschachtelte Schleifen 2024
Anonim

Der C ++ - Programmierer iteriert durch ein Array, indem er den Index jedes Elements bereitstellt. Diese Technik funktioniert jedoch nicht bei Containern wie list , die keinen direkten Zugriff zulassen. Man könnte sich eine Lösung vorstellen, die auf Methoden wie getFirst () und getNext () basiert; Die Entwickler der Standard Template Library wollten jedoch eine einheitliche Methode für das Überqueren jeder Art von Container bereitstellen.

Dazu definiert die Standard Template Library den Iterator.

Ein -Iterator ist ein Objekt, das auf die Mitglieder eines Containers verweist. Im Allgemeinen unterstützt jeder Iterator die folgenden Funktionen:

  • Eine Klasse kann einen Iterator zurückgeben, der auf das erste Mitglied der Sammlung zeigt.

  • Der Iterator kann von einem Member zum nächsten verschoben werden.

  • Der Iterator gibt eine Angabe zurück, wenn das Ende der Liste erreicht ist.

  • Das Programm kann das Element abrufen, auf das der Iterator zeigt.

Die Standardvorlagenbibliothek bietet auch umgekehrte Iteratoren für die Rückwärtsbewegung durch Listen. Alles hier über Iteratoren gilt gleichermaßen für umgekehrte Iteratoren.

Der Code, der notwendig ist, um durch eine Liste zu iterieren, unterscheidet sich von dem, der notwendig ist, um einen Vektor zu durchlaufen (um nur zwei Beispiele zu nennen). Der Iterator blendet diese Details jedoch aus.

Die Methode begin () gibt einen Iterator zurück, der auf das erste Element einer Liste zeigt. Der Indirektionsoperator * () ruft eine Referenz auf das Objekt ab, auf das der Iterator zeigt. Der Operator ++ verschiebt den Iterator zum nächsten Element in der Liste.

Ein Programm fährt fort, seinen Weg durch die Liste zu inkrementieren, bis der Iterator gleich dem von end () zurückgegebenen Wert ist. Das folgende Code-Snippet beginnt am Anfang einer Liste mit Schülern und zeigt jeden ihrer Namen an:

void displayStudents (list & students) {// Zuweisen eines Iterators, der auf das erste // -Element in der Listenliste verweist:: iterator iter = Schüler. Start(); // weiter die Liste durchlaufen, bis der // Iterator das Ende der Liste erreicht (iter! = students. end ()) {// den Student abrufen, den der Iterator auf Student & s = * iter zeigt; cout << s. sName << endl; // Verschiebe den Iterator nun zum nächsten Element // in der Liste iter ++;}}

Deklarationen für Iteratoren können sehr komplex werden. Dies ist wahrscheinlich die beste Begründung für die auto -Deklaration, die mit dem Standard '11 eingeführt wurde:

für (auto iter = studenten. Begin (); iter! = Studenten. End (); iter ++) {cout 

Dies deklariert iter als Iterator beliebigen Typs, der von der Methodenliste zurückgegeben wird:: begin () , vermeidet die gequälten Deklarationen, die im früheren Code-Snippet angezeigt werden.Wie cool ist das!

C ++ - Programmierung: Gehen Sie durch eine Liste - Dummies

Die Wahl des Herausgebers

Zum Hinzufügen von Arbeitsblättern zu Ihrer Excel 2013-Arbeitsmappe - dummies

Zum Hinzufügen von Arbeitsblättern zu Ihrer Excel 2013-Arbeitsmappe - dummies

Jede leere Arbeitsmappe, die Sie öffnen, enthält ein Einzelblatt mit dem prosaischen Namen Sheet1. Um weitere Blätter zu Ihrer Arbeitsmappe in Excel 2013 hinzuzufügen, klicken Sie einfach auf die Schaltfläche Neues Blatt in der Statusleiste (die mit Pluszeichen in einem Kreis). Jedes Arbeitsblatt, das Sie mit der Befehlsschaltfläche Neues Blatt hinzufügen, ist ...

Wie man bedingte Formatierung in Excel 2010 anwendet - dummies

Wie man bedingte Formatierung in Excel 2010 anwendet - dummies

Mit der bedingten Formatierung von excel 2010 können Sie das Aussehen von eine Zelle basierend auf ihrem Wert oder dem Wert einer anderen Zelle. Sie geben bestimmte Bedingungen an, und wenn diese Bedingungen erfüllt sind, wendet Excel die Formatierung an, die Sie auswählen. Sie können die bedingte Formatierung verwenden, um Datumsangaben zu suchen, die bestimmte Kriterien erfüllen (z. B. fallen auf ...

Die Wahl des Herausgebers

ASVAB Vorbereitung: Wie man Brüche multipliziert und dividiert - Dummies

ASVAB Vorbereitung: Wie man Brüche multipliziert und dividiert - Dummies

Es wird erwartet, dass festes Verständnis des mathematischen Grundwissens, wenn Sie das ASVAB nehmen. Multiplizieren und Dividieren von Brüchen sind zwei der Dinge, die Sie wissen müssen. Fraktionen multiplizieren Fraktionen multiplizieren ist sehr einfach. Alles, was Sie tun müssen, ist, die Zähler untereinander zu multiplizieren und die Nenner mit ... zu multiplizieren.

ASVAB-Praxis: Beispiel-Fragen zu Word-Kenntnissen - Dummies

ASVAB-Praxis: Beispiel-Fragen zu Word-Kenntnissen - Dummies

Sie müssen für die Word-Wissensprobleme bereit sein auf dem ASVAB. Das Format, das Sie unten sehen, ist ein gutes Beispiel dafür, was Sie finden werden, wenn Sie das ASVAB benutzen. Beispielfragen Wortwissenszeit: 11 Minuten für 35 Fragen Anleitung: Der Wortwissensubtest ist der dritte Untertest ...

ASVAB: Paragraph Comprehension Subtest Beispiel Testfragen - Dummies

ASVAB: Paragraph Comprehension Subtest Beispiel Testfragen - Dummies

Zeit für Sie, all Ihre ASVAB Vorbereitung zur guten Verwendung. Fragen Sie sich anhand der folgenden Beispieltestfragen, ob Ihr Leseverständnis auf dem neuesten Stand ist. Lesen Sie jeden kurzen Absatz, dem eine oder mehrere Fragen zu den in dieser Passage enthaltenen Informationen folgen. Achten Sie darauf, den Absatz sorgfältig zu lesen ...

Die Wahl des Herausgebers

Zoomen und Schwenken in AutoCAD - Dummys

Zoomen und Schwenken in AutoCAD - Dummys

AutoCAD erleichtert das Schwenken, indem es Bildlaufleisten und Echtzeit-Schwenken bietet. Beim Echtzeit-Panning (im Gegensatz zum Vorgabezeit-Panning?) Können Sie Objekte auf dem Bildschirm sehen, wenn Sie die Maus nach oben und unten oder vor und zurück bewegen. Natürlich bewegt sich der Standpunkt, nicht die Objekte. Sowohl das Schwenken als auch das Zoomen ändern die Ansicht ...

Mit AutoCAD LT 2005 DesignCenter - Dummies

Mit AutoCAD LT 2005 DesignCenter - Dummies

DesignCenter ist ein dummer Name für eine nützliche, wenn auch etwas ausgelastete Palette. Die DesignCenter-Palette ist praktisch für das Extrahieren von Daten aus allen Arten von Zeichnungen. Während sich die Eigenschaftenpalette mit Objekteigenschaften beschäftigt, behandelt die DesignCenter-Palette hauptsächlich benannte Objekte: Ebenen, Linientypen, Blockdefinitionen (dh Symboldefinitionen), Textstile und andere Organisationsobjekte ...

Was Sie über AutoCAD-Koordinatensysteme wissen sollten - Dummies

Was Sie über AutoCAD-Koordinatensysteme wissen sollten - Dummies

Jeder Punkt in einer AutoCAD-Zeichnungsdatei kann identifiziert werden durch seine X-, Y-, Z-Koordinaten. (In den meisten 2D-Zeichnungen ist der Z-Koordinatenwert 0. 0.) Dieses Koordinatensystem wird in AutoCAD als Weltkoordinatensystem oder WCS bezeichnet. Koordinateneingabe Die direkteste Methode, um Punkte präzise einzugeben, ist die Eingabe von Zahlen mit dem ...