QStack Class

template <typename T> class QStack

Die Klasse QStack ist eine Vorlagenklasse, die einen Stack bereitstellt. Mehr...

Kopfzeile: #include <QStack>
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 pop()
void push(const T &t)
void swap(QStack<T> &other)
T &top()
const T &top() const

Detaillierte Beschreibung

QStack<T> ist eine der generischen Container-Klassen von Qt. Sie implementiert eine Stack-Datenstruktur für Elemente desselben Typs.

Ein Stack ist eine LIFO-Struktur (last in, first out). Elemente werden mit push() an die Spitze des Stapels hinzugefügt und mit pop() von der Spitze abgerufen. Die Funktion top() ermöglicht den Zugriff auf das oberste Element, ohne es zu entfernen.

Beispiel:

    QStack<int> stack;
    stack.push(1);
    stack.push(2);
    stack.push(3);
    while (!stack.isEmpty())
        cout << stack.pop() << Qt::endl;

Das Beispiel wird 3, 2, 1 in dieser Reihenfolge ausgeben.

QStack erbt von QList. Die gesamte Funktionalität von QList gilt auch für QStack. Sie können zum Beispiel isEmpty() verwenden, um zu testen, ob der Stack leer ist, und Sie können einen QStack mit den Iterator-Klassen von QList durchlaufen (zum Beispiel QListIterator). Darüber hinaus bietet QStack drei Komfortfunktionen, die die Implementierung der LIFO-Semantik erleichtern: push(), pop() und top().

Der Wertetyp von QStack muss ein zuweisbarer Datentyp sein. Dies deckt die meisten gebräuchlichen Datentypen ab, aber der Compiler lässt es nicht zu, dass Sie z.B. einen QWidget als Wert speichern; speichern Sie stattdessen einen QWidget *.

Siehe auch QList und QQueue.

Dokumentation der Mitgliedsfunktionen

T QStack::pop()

Entfernt das oberste Element aus dem Stapel und gibt es zurück. Diese Funktion geht davon aus, dass der Stapel nicht leer ist.

Siehe auch top(), push(), und isEmpty().

void QStack::push(const T &t)

Fügt das Element t oben auf dem Stapel hinzu.

Dies ist dasselbe wie QList::append().

Siehe auch pop() und top().

[noexcept] void QStack::swap(QStack<T> &other)

Tauscht diesen Stapel mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.

T &QStack::top()

Gibt einen Verweis auf das oberste Element des Stacks zurück. Diese Funktion geht davon aus, dass der Stack nicht leer ist.

Dies ist dasselbe wie QList::last().

Siehe auch pop(), push(), und isEmpty().

const T &QStack::top() const

Dies ist eine überladene Funktion.

Siehe auch pop() und push().

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