Sur cette page

QStack Class

template <typename T> class QStack

La classe QStack est une classe de modèle qui fournit une pile. En savoir plus...

En-tête : #include <QStack>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core
Hérite de : QList

Remarque : toutes les fonctions de cette classe sont réentrantes.

Fonctions publiques

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

Description détaillée

QStack<T> est l'une des classes de conteneurs génériques de Qt, où T spécifie le type d'élément. Elle implémente une structure de données de type pile pour des éléments de même type.

Une pile est une structure de type « dernier entré, premier sorti » (LIFO). Les éléments sont ajoutés au sommet de la pile à l’aide de la fonction push() et récupérés à partir du sommet à l’aide de la fonction pop(). La fonction top() permet d’accéder à l’élément situé tout en haut de la pile sans le supprimer.

Exemple :

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

L’exemple affichera 3, 2, 1 dans cet ordre.

QStack hérite de QList. Toutes les fonctionnalités de QList s’appliquent également à QStack. Par exemple, vous pouvez utiliser ` isEmpty()` pour vérifier si la pile est vide, et vous pouvez parcourir une instance de `QStack` à l’aide des classes d’itérateurs d’` QList` (par exemple, ` QListIterator`). Mais en outre, `QStack` fournit trois fonctions pratiques qui facilitent la mise en œuvre de la sémantique LIFO : ` push()`, ` pop()` et ` top()`.

Le type de valeur de QStack doit être un type de données assignable. Cela couvre la plupart des types de données couramment utilisés, mais le compilateur ne vous permettra pas, par exemple, de stocker un QWidget en tant que valeur ; vous devrez plutôt stocker un QWidget *.

Voir également QList et QQueue.

Documentation sur les fonctions membres

T QStack::pop()

Retire l'élément du haut de la pile et le renvoie. Cette fonction suppose que la pile n'est pas vide.

Voir également top(), push() et isEmpty().

[since 6.11] void QStack::push(T &&t)

Ajoute l'élément t en haut de la pile.

Cela revient au même que ` QList::append()`.

Cette fonction a été introduite dans Qt 6.11.

Voir également pop() et top().

void QStack::push(const T &t)

Ajoute l'élément t en haut de la pile.

Cela revient à appeler la fonction QList::append().

Voir également pop() et top().

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

Permute cette pile avec celle de other. Cette opération est très rapide et ne rencontre jamais d'échec.

T &QStack::top()

Renvoie une référence à l'élément situé en haut de la pile. Cette fonction suppose que la pile n'est pas vide.

Elle est identique à la fonction QList::last().

Voir également pop(), push() et isEmpty().

const T &QStack::top() const

Il s'agit d'une fonction surchargée.

Voir également pop() et push().

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