QDirListing::const_iterator Class
class QDirListing::const_iteratorDiese Klasse wurde in Qt 6.8 eingeführt.
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- const_iterator ist Teil von „Eingabe/Ausgabe und Netzwerk“.
Öffentliche Typen
Öffentliche Funktionen
| const_iterator() | |
| const_iterator(QDirListing::const_iterator &&) | |
| QDirListing::const_iterator::reference | operator*() const |
| QDirListing::const_iterator & | operator++() |
| void | operator++(int) |
| QDirListing::const_iterator::pointer | operator->() const |
| QDirListing::const_iterator & | operator=(QDirListing::const_iterator &&) |
Ausführliche Beschreibung
Der von ` QDirListing::cbegin()` zurückgegebene Iterator-Typ.
- Es handelt sich um einen Iterator, der nur vorwärts und in einem Durchgang arbeitet (Verzeichniseinträge können nicht in umgekehrter Reihenfolge durchlaufen werden).
- Kann nicht kopiert werden, nur `
std::move()d`. - Der Rückgabewert der Postinkrementierung bei Objekten, die „
std::input_iterator“ nachbilden, ist unvollständig (eine Kopie eines Iterators, der inzwischen weitergeschritten ist); die einzigen gültigen Operationen für ein solches Objekt sind die Zerstörung und die Zuweisung eines neuen Iterators. Daher schreitet der Postinkrementoperator den Iterator voran und gibt „void“ zurück. - Erlaubt keinen wahlfreien Zugriff
- Kann in `for-range`-Schleifen verwendet werden oder mit C++20-Algorithmen von `std::ranges`, die keine Iteratoren mit wahlfreiem Zugriff erfordern
- Die Dereferenzierung eines gültigen Iterators gibt einen
const DirEntry & - (c) `end()` gibt einen ` QDirListing::sentinel ` zurück, der das Ende der Iteration signalisiert. Die Dereferenzierung eines Iterators, der mit ` end()` gleich ist, führt zu undefiniertem Verhalten
Hinweis: Die „klassischen“ STL-Algorithmen unterstützen keine Iterator/Sentinel-Kombinationen, daher müssen Sie für ` QDirListing` die C++20-Algorithmen von `std::ranges` verwenden oder eine Drittanbieter-Bibliothek, die bereichsbasierte Algorithmen in C++17 bereitstellt.
Siehe auch QDirListing, QDirListing::sentinel und QDirListing::DirEntry.
Dokumentation zu Mitgliedstypen
[alias] const_iterator::pointer
Ein `typedef` für ` const QDirListing::DirEntry *`.
[alias] const_iterator::reference
Ein `typedef` für ` const QDirListing::DirEntry &`.
Dokumentation zu den Member-Funktionen
[constexpr noexcept default] const_iterator::const_iterator()
Erstellt standardmäßig eine Instanz von ` const_iterator`.
[constexpr noexcept default] const_iterator::const_iterator(QDirListing::const_iterator &&)
Erstellt eine Instanz von ` const_iterator` mithilfe von `Move`.
QDirListing::const_iterator::reference const_iterator::operator*() const
Gibt einen „ const QDirListing::DirEntry & “ des Verzeichniseintrags zurück, auf den dieser Iterator verweist.
QDirListing::const_iterator &const_iterator::operator++()
Vorkrementsoperator. Schiebt den Iterator vor und gibt eine Referenz darauf zurück.
void const_iterator::operator++(int)
Postinkrement-Operator.
QDirListing::const_iterator Modelliert std::input_iterator aus C++20, d. h., es handelt sich um einen Iterator, der nur Verschiebungen zulässt, nur vorwärts läuft und einen einzigen Durchlauf durchführt, wobei kein wahlfreier Zugriff möglich ist.
Der Rückgabewert der Postinkrementierung bei Objekten, die „ std::input_iterator “ modellieren, ist unvollständig (eine Kopie eines Iterators, der inzwischen weitergeschritten ist); die einzigen gültigen Operationen für ein solches Objekt sind die Zerstörung und die Zuweisung eines neuen Iterators. Daher schreitet der Postinkrementoperator den Iterator voran und gibt „ void “ zurück.
QDirListing::const_iterator::pointer const_iterator::operator->() const
Gibt einen ` const QDirListing::DirEntry * ` für den Verzeichniseintrag zurück, auf den dieser Iterator verweist.
[constexpr noexcept default] QDirListing::const_iterator &const_iterator::operator=(QDirListing::const_iterator &&)
Weist „ other “ dieser „ const_iterator “-Instanz zu.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.