QStack Class

template <typename T> class QStack

QStackクラスはスタックを提供するテンプレート・クラスです。詳細...

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

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

パブリック関数

T pop()
void push(const T &t)
void swap(QStack<T> &other)
T &top()
const T &top() const

詳しい説明

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

QList およびQQueueも参照して ください。

メンバ関数ドキュメント

T QStack::pop()

スタックから先頭の項目を取り除き、それを返す。この関数はスタックが空でないことを前提とする。

top()、push()、isEmpty()も参照の こと。

void QStack::push(const T &t)

要素t をスタックの先頭に追加します。

これはQList::append() と同じ。

pop() およびtop() も参照の こと。

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

スタックother をこのスタックと入れ替える。この操作は非常に高速で、失敗することはない。

T &QStack::top()

スタックの先頭項目への参照を返す。この関数は、スタックが空でないことを前提とする。

これはQList::last() と同じである。

pop()、push()、isEmpty()も参照

const T &QStack::top() const

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

pop() およびpush() も参照

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