QStack Class
template <typename T> class QStackDie Klasse „QStack“ ist eine Template-Klasse, die einen Stapel bereitstellt. Mehr...
| Header: | #include <QStack> |
| 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
- QStack gehört zu den implizit gemeinsam genutzten Klassen und den Container-Klassen.
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
Öffentliche Funktionen
| T | pop() |
(since 6.11) void | push(T &&t) |
| void | push(const T &t) |
| void | swap(QStack<T> &other) |
| T & | top() |
| const T & | top() const |
Ausführliche Beschreibung
QStack<T> ist eine der generischen Containerklassen von Qt, wobei T den Elementtyp angibt. Sie implementiert eine Stapelstruktur für Elemente desselben Typs.
Ein Stapel ist eine LIFO-Struktur (Last-In-First-Out). Elemente werden mit ` push()` oben auf den Stapel gesetzt und mit ` pop()` von dort 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 gibt 3, 2, 1 in dieser Reihenfolge aus.
QStack erbt von QList. Alle Funktionen von QList gelten auch für QStack. Beispielsweise können Sie mit ` isEmpty()` prüfen, ob der Stapel leer ist, und Sie können einen `QStack` mithilfe der Iterator-Klassen von ` QList` (z. B. ` QListIterator`) durchlaufen. Darüber hinaus bietet `QStack` jedoch drei Komfortfunktionen, die die Implementierung der LIFO-Semantik vereinfachen: ` push()`, ` pop()` und ` top()`.
Der Werttyp von QStack muss ein zuweisbarer Datentyp sein. Dies deckt die meisten gängigen Datentypen ab, aber der Compiler lässt beispielsweise nicht zu, dass Sie einen ` QWidget ` als Wert speichern; stattdessen müssen Sie einen ` QWidget *` speichern.
Siehe auch „ QList “ und „ QQueue “.
Dokumentation zu Mitgliedsfunktionen
T QStack::pop()
Entnimmt das oberste Element aus dem Stapel und gibt es zurück. Diese Funktion setzt voraus, dass der Stapel nicht leer ist.
Siehe auch top(), push() und isEmpty().
[since 6.11] void QStack::push(T &&t)
Fügt das Element „ t “ oben auf den Stapel ein.
Dies entspricht der Funktion „ QList::append()“.
Diese Funktion wurde in Qt 6.11 eingeführt.
Siehe auch „ pop()“ und „ top()“.
void QStack::push(const T &t)
Fügt das Element „ t “ oben auf den Stapel ein.
Dies entspricht der Funktion „ 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 niemals fehl.
T &QStack::top()
Gibt eine Referenz auf das oberste Element des Stacks zurück. Diese Funktion setzt voraus, dass der Stack nicht leer ist.
Dies entspricht der Funktion „ QList::last()“.
Siehe auch „ pop()“, „ push()“ und „ isEmpty()“.
const T &QStack::top() const
Dies ist eine überladene Funktion.
© 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.