Spec-Zone.ru › Qt 5.9

Класс QQueue

Класс QQueue — это обобщённый контейнер, предоставляющий очередь. Подробнее...

Заголовок: #include <QQueue>
qmake: QT += core
Наследует: QList
  • Список всех членов, включая унаследованные

Примечание: Все функции в этом классе являются повторно входящими.

Открытые функции

T dequeue()
void enqueue(const T &t)
T & head()
const T & head() const
void swap(QQueue<T> &other)
  • 78 открытых функций, унаследованных от QList

Дополнительные унаследованные члены

  • 3 статических открытых члена, унаследованных от QList

Подробное описание

Класс QQueue — это обобщённый контейнер, предоставляющий очередь.

QQueue<T> — один из обобщённых классов контейнеров Qt. Он реализует структуру данных очереди для элементов одного типа.

Очередь — это структура данных «первым вошел, первым вышел» (FIFO). Элементы добавляются в конец очереди с помощью enqueue() и извлекаются из начала с помощью dequeue(). Функция head() обеспечивает доступ к элементу начала очереди без его удаления.

Пример:

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

Пример выведет 1, 2, 3 в этом порядке.

QQueue наследуется от QList. Все функциональные возможности QList также применяются к QQueue. Например, вы можете использовать isEmpty() для проверки, пуста ли очередь, и вы можете пройтись по QQueue с помощью итераторов QList (например, QListIterator). Но, кроме того, QQueue предоставляет три удобные функции, которые упрощают реализацию семантики FIFO: enqueue(), dequeue() и head().

Тип значения QQueue должен быть типом данных, допускающим присваивание. Это охватывает большинство типов данных, которые обычно используются, но компилятор не позволит вам, например, хранить QWidget в качестве значения. Используйте QWidget* вместо этого.

См. также QList и QStack.

Документация по функциям-членам

T QQueue::dequeue()

Удаляет элемент начала очереди и возвращает его. Эта функция предполагает, что очередь не пуста.

Это то же самое, что QList::takeFirst().

См. также head(), enqueue(), и isEmpty().

void QQueue::enqueue(const T &t)

Добавляет значение t в конец очереди.

Это то же самое, что QList::append().

См. также dequeue() и head().

T &QQueue::head()

Возвращает ссылку на элемент начала очереди. Эта функция предполагает, что очередь не пуста.

Это то же самое, что QList::first().

См. также dequeue(), enqueue(), и isEmpty().

const T &QQueue::head() const

Это перегруженная функция.

void QQueue::swap(QQueue<T> &other)

Меняет местами очередь other с этой очередью. Эта операция очень быстрая и никогда не терпит неудачу.

Эта функция была введена в Qt 4.8.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qqueue.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API