QStack类
template <typename T> class QStackQStack类是一个模板类,提供栈的功能。 更多信息...
头文件 | #include <QStack> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake | QT += core |
继承 | QList |
- 包括继承成员在内的所有成员列表
- QStack是隐式共享类的一部分。
注意: 此类中所有函数均可重入。
公共函数
详细描述
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 *。
成员函数文档
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 相同。
另请参阅 pop(), push() 和 isEmpty().
const T &QStack::top() const
这是一个重载函数。
© 2024 Qt公司有限公司。包含在本文档中的文档贡献是各自所有者的版权。本文件提供的文档是根据自由软件基金会公布的 GNU自由文档许可第1.3版 许可的。Qt及其相关标志是芬兰的Qt公司及其它国家和地区的注册商标。所有其他商标均为各自所有者的财产。