QQueue Class

template <typename T> class QQueue

QQueueクラスは、キューを提供する汎用コンテナです。詳細...

Header: #include <QQueue>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Inherits: QList

注意:このクラスの関数はすべてリエントラントです。

パブリック関数

T dequeue()
void enqueue(const T &t)
T &head()
const T &head() const
void swap(QQueue<T> &other)

詳しい説明

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() を使用してキューが空かどうかをテストしたり、QList のイテレータ・クラス(例えば、QListIterator )を使用して QQueue をトラバースしたりすることができます。さらに QQueue には、FIFO セマンティクスを簡単に実装できる 3 つの便利な関数が用意されています: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() も参照

キューの先頭項目への参照を返します。この関数は、キューが空でないことを前提としています。

これはQList::first() と同じです。

dequeue()、enqueue()、isEmpty()も参照してください

const T &QQueue::head() const

これはオーバーロードされた関数です。

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

キューother をこのキューと入れ替えます。この操作は非常に高速で、失敗することはない。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundationによって発行されたGNU Free Documentation License version 1.3の条項の下でライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。