Auf dieser Seite

QDirListing::const_iterator Class

class QDirListing::const_iterator

Diese Klasse wurde in Qt 6.8 eingeführt.

Ö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.