QStack Class

template <typename T> class QStack

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

ヘッダー #include <QStack>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
継承: QList

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

パブリック関数

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

詳しい説明

QStack<T> は Qt の汎用コンテナクラスの一つです。同じ型のアイテムのためのスタックデータ構造を実装しています。

スタックは後入れ先出し(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()も参照のこと

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.