Auf dieser Seite

QQueue Class

template <typename T> class QQueue

Die 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

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

void QQueue::enqueue(T &&t)

void QQueue::enqueue(const T &t)

Fügt den Wert „ t “ am Ende der Warteschlange hinzu.

Dies entspricht der Funktion „ QList::append()“.

Siehe auch „ dequeue()“ und „ 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.