QStack Class
template <typename T> class QStackQStackクラスはスタックを提供するテンプレート・クラスです。詳細...
Header: | #include <QStack> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
Inherits: | QList |
- 継承メンバを含む全メンバのリスト
- QStackは、暗黙的共有クラスの一部です。
注意:このクラスの関数はすべてリエントラントです。
パブリック関数
詳しい説明
QStack<T>はQtの汎用コンテナクラスの1つです。同じ型のアイテムのためのスタックデータ構造を実装しています。
スタックは先入れ先出し(LIFO)構造です。アイテムはpush() を使ってスタックの一番上に追加され、pop() を使って一番上から取り出されます。top() 関数は、最上位の項目を削除せずに、その項目へのアクセスを提供する。
例
QStack<int> stack; stack.push(1); stack.push(2); stack.push(3); while (!stack.isEmpty()) cout << stack.pop() << Qt::endl;
この例では、3、2、1の順に出力されます。
QStack はQList を継承しています。QList の機能はすべて QStack にも適用されます。例えば、isEmpty() を使ってスタックが空かどうかをテストできますし、QList'のイテレータ・クラス(例えば、QListIterator )を使ってQStackをトラバースできます。さらにQStackは、LIFOセマンティクスを簡単に実装できる3つの便利な関数を提供しています:push()、pop()、top()。
QStackの値型は、代入可能なデータ型でなければならない。QWidget これは、一般的に使用されるほとんどのデータ型をカバーしていますが、コンパイラは、例えば、値としてQWidget 。
メンバ関数ドキュメント
T QStack::pop()
スタックから先頭の項目を取り除き、それを返す。この関数はスタックが空でないことを前提とする。
top()、push()、isEmpty()も参照の こと。
void QStack::push(const T &t)
要素t をスタックの先頭に追加します。
これはQList::append() と同じ。
[noexcept]
void QStack::swap(QStack<T> &other)
スタックother をこのスタックと入れ替える。この操作は非常に高速で、失敗することはない。
T &QStack::top()
スタックの先頭項目への参照を返す。この関数は、スタックが空でないことを前提とする。
これはQList::last() と同じである。
const T &QStack::top() const
これはオーバーロードされた関数である。
©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。