QQueue Class
template <typename T> class QQueueQQueueクラスは、キューを提供する汎用コンテナです。詳細...
Header: | #include <QQueue> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
Inherits: | 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() を使用してキューが空かどうかをテストしたり、QList のイテレータ・クラス(例えば、QListIterator )を使用して QQueue をトラバースしたりすることができます。さらに QQueue には、FIFO セマンティクスを簡単に実装できる 3 つの便利な関数が用意されています:enqueue()、dequeue()、head()。
QQueueの値型は、割り当て可能なデータ型でなければなりません。これは、一般的に使用されるほとんどのデータ型をカバーしていますが、コンパイラは、例えば、QWidget を値として格納することはできません。代わりにQWidget* を使用してください。
メンバ関数ドキュメント
T QQueue::dequeue()
キューの先頭の項目を削除し、それを返します。この関数はキューが空でないことを前提とする。
これはQList::takeFirst() と同じ。
head()、enqueue()、isEmpty()も参照 。
void QQueue::enqueue(const T &t)
値t をキューの末尾に追加します。
これはQList::append() と同じ。
T &QQueue::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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。