QStack类

template <typename T> class QStack

QStack类是一个模板类,提供栈的功能。 更多信息...

头文件 #include <QStack>
CMakefind_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmakeQT += core
继承 QList

注意: 此类中所有函数均可重入

公共函数

Tpop()
voidpush(const T &t)
voidswap(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语义变得容易:push()、pop()和top()。

QStack的值类型必须是一个可赋值的数据类型。这涵盖了大多数常用的数据类型,但编译器不允许您存储QWidget作为值;相反,存储QWidget *。

另请参阅:QListQQueue

成员函数文档

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 Qt公司有限公司。包含在本文档中的文档贡献是各自所有者的版权。本文件提供的文档是根据自由软件基金会公布的 GNU自由文档许可第1.3版 许可的。Qt及其相关标志是芬兰的Qt公司及其它国家和地区的注册商标。所有其他商标均为各自所有者的财产。