Sur cette page

QQueue Class

template <typename T> class QQueue

La classe `QQueue` est un conteneur générique qui fournit une file d'attente. En savoir plus...

En-tête : #include <QQueue>
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 dequeue()
void enqueue(T &&t)
void enqueue(const T &t)
T &head()
const T &head() const
void swap(QQueue<T> &other)

Description détaillée

QQueue<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 file d'attente pour des éléments d'un même type.

Une file d’attente est une structure de type « premier entré, premier sorti » (FIFO). Les éléments sont ajoutés à la fin de la file d’attente à l’aide de ` enqueue()` et récupérés à la tête à l’aide de ` dequeue()`. La fonction ` head()` permet d’accéder à l’élément de tête sans le supprimer.

Exemple :

QQueue<int> queue;
queue.enqueue(1);
queue.enqueue(2);
queue.enqueue(3);
while (!queue.isEmpty())
    cout << queue.dequeue() << endl;

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

QQueue hérite de QList. Toutes les fonctionnalités de QList s’appliquent également à QQueue. Par exemple, vous pouvez utiliser isEmpty() pour vérifier si la file d’attente est vide, et vous pouvez parcourir une QQueue à l’aide des classes d’itérateurs de QList(par exemple, QListIterator). Mais en outre, QQueue fournit trois fonctions pratiques qui facilitent la mise en œuvre de la sémantique FIFO : enqueue(), dequeue() et head().

Le type de valeur de QQueue 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. Utilisez plutôt QWidget*.

Voir également QList et QStack.

Documentation sur les fonctions membres

T QQueue::dequeue()

Supprime l'élément de tête de la file d'attente et le renvoie. Cette fonction suppose que la file d'attente n'est pas vide.

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

Voir également head(), enqueue() et isEmpty().

void QQueue::enqueue(T &&t)

void QQueue::enqueue(const T &t)

Ajoute la valeur t à la fin de la file d'attente.

Cette fonction est identique à ` QList::append()`.

Voir également dequeue() et head().

Renvoie une référence à l'élément en tête de la file d'attente. Cette fonction suppose que la file d'attente n'est pas vide.

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

Voir également dequeue(), enqueue() et isEmpty().

const T &QQueue::head() const

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

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

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

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