QQueue Class
template <typename T> class QQueueDie Klasse QQueue ist ein generischer Container, der eine Warteschlange bereitstellt. Mehr...
Kopfzeile: | #include <QQueue> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
Vererbt: | QList |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QQueue ist Teil von Implicitly Shared Classes.
Hinweis: Alle Funktionen in dieser Klasse sind reentrant.
Öffentliche Funktionen
Detaillierte Beschreibung
QQueue<T> ist eine der generischen Container-Klassen von Qt. Sie implementiert eine Warteschlangen-Datenstruktur für Elemente desselben Typs.
Eine Warteschlange ist eine FIFO-Struktur (first in, first out). Elemente werden mit enqueue() am Ende der Warteschlange hinzugefügt und mit dequeue() am Kopf abgerufen. Die Funktion head() ermöglicht den Zugriff auf das Hauptelement, ohne es zu entfernen.
Beispiel:
QQueue<int> queue; queue.enqueue(1); queue.enqueue(2); queue.enqueue(3); while (!queue.isEmpty()) cout << queue.dequeue() << endl;
Das Beispiel wird 1, 2, 3 in dieser Reihenfolge ausgeben.
QQueue erbt von QList. Alle Funktionen von QList gelten auch für QQueue. Sie können zum Beispiel isEmpty() verwenden, um zu testen, ob die Warteschlange leer ist, und Sie können eine QQueue mit den Iterator-Klassen von QList durchlaufen (zum Beispiel QListIterator). Darüber hinaus bietet QQueue drei Komfortfunktionen, die die Implementierung von FIFO-Semantik erleichtern: enqueue(), dequeue() und head().
Der Wertetyp von QQueue muss ein zuweisbarer Datentyp sein. Dies deckt die meisten üblicherweise verwendeten Datentypen ab, aber der Compiler lässt es nicht zu, dass Sie z.B. QWidget als Wert speichern. Verwenden Sie stattdessen QWidget*.
Dokumentation der Mitgliedsfunktionen
T QQueue::dequeue()
Entfernt das oberste Element in der Warteschlange und gibt es zurück. Diese Funktion geht davon aus, dass die Warteschlange nicht leer ist.
Dies ist dasselbe wie QList::takeFirst().
Siehe auch head(), enqueue(), und isEmpty().
void QQueue::enqueue(const T &t)
Fügt den Wert t am Ende der Warteschlange hinzu.
Dies ist dasselbe wie QList::append().
Siehe auch dequeue() und head().
T &QQueue::head()
Gibt einen Verweis auf das Hauptelement der Warteschlange zurück. Diese Funktion geht davon aus, dass die Warteschlange nicht leer ist.
Dies ist dasselbe wie QList::first().
Siehe auch dequeue(), enqueue(), und isEmpty().
const T &QQueue::head() const
Dies ist eine überladene Funktion.
[noexcept]
void QQueue::swap(QQueue<T> &other)
Tauscht diese Warteschlange mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.
© 2025 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.