QQueue Class

template <typename T> class QQueue

Die 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

Hinweis: Alle Funktionen in dieser Klasse sind reentrant.

Öffentliche Funktionen

T dequeue()
void enqueue(const T &t)
T &head()
const T &head() const
void swap(QQueue<T> &other)

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

Siehe auch QList und QStack.

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().

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.