QQueue Class
template <typename T> class QQueueDie Klasse „QQueue“ ist ein generischer Container, der eine Warteschlange bereitstellt. Mehr...
| Header: | #include <QQueue> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| Erbt von: | QList |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QQueue gehört zu den implizit gemeinsam genutzten Klassen und den Container-Klassen.
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
Öffentliche Funktionen
| T | dequeue() |
| void | enqueue(T &&t) |
| void | enqueue(const T &t) |
| T & | head() |
| const T & | head() const |
| void | swap(QQueue<T> &other) |
Ausführliche Beschreibung
QQueue<T> ist eine der generischen Containerklassen von Qt, wobei T den Elementtyp angibt. Sie implementiert eine Warteschlangenstruktur für Elemente desselben Typs.
Eine Warteschlange ist eine First-In-First-Out-Struktur (FIFO). Elemente werden mit ` enqueue()` am Ende der Warteschlange angehängt und mit ` dequeue()` vom Anfang abgerufen. Die Funktion ` head()` ermöglicht den Zugriff auf das Element am Anfang, 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 gibt 1, 2, 3 in dieser Reihenfolge aus.
QQueue erbt von „ QList “. Alle Funktionen von „ QList “ gelten auch für QQueue. So können Sie beispielsweise mit „ isEmpty()“ prüfen, ob die Warteschlange leer ist, und Sie können eine QQueue mithilfe der Iterator-Klassen von „ QList “ (z. B. „ QListIterator “) durchlaufen. Darüber hinaus bietet `QQueue` drei Komfortfunktionen, die die Implementierung der FIFO-Semantik vereinfachen: ` enqueue()`, ` dequeue()` und ` head()`.
Der Werttyp von QQueue muss ein zuweisbarer Datentyp sein. Dies deckt die meisten gängigen Datentypen ab, doch der Compiler lässt beispielsweise nicht zu, dass Sie einen ` QWidget ` als Wert speichern. Verwenden Sie stattdessen ` QWidget*`.
Siehe auch „ QList “ und „ QStack “.
Dokumentation zu Member-Funktionen
T QQueue::dequeue()
Entfernt das erste Element aus der Warteschlange und gibt es zurück. Diese Funktion setzt voraus, dass die Warteschlange nicht leer ist.
Dies entspricht der Funktion „ QList::takeFirst()“.
Siehe auch „ head()“, „ enqueue()“ und „ isEmpty()“.
Fügt den Wert „ t “ am Ende der Warteschlange hinzu.
Dies entspricht der Funktion „ QList::append()“.
Siehe auch „ dequeue()“ und „ head()“.
T &QQueue::head()
Gibt eine Referenz auf das erste Element der Warteschlange zurück. Diese Funktion setzt voraus, dass die Warteschlange nicht leer ist.
Dies entspricht der Funktion „ 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 niemals fehl.
© 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.