QQueue 类
template <typename T> class QQueueQQueue 类是一个提供队列的泛型容器。 更多...
头文件 | #include <QQueue> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake | QT += core |
继承 | QList |
- 所有成员的列表,包括继承的成员
- QQueue 是隐式共享类之一。更多...
注意:本类中所有函数都是可重入的。
公开函数
详细描述
QQueue<T> 是 Qt 的泛型 容器类 之一。它实现了用于相同类型项的队列数据结构。
队列是一种先进先出(FIFO)结构。使用 enqueue() 方法将项添加到队列的尾部,并使用 dequeue() 方法从队列头端检索项。函数 head() 提供对队列头端项的访问,但不移除它。
示例
QQueue<int> queue; queue.enqueue(1); queue.enqueue(2); queue.enqueue(3); while (!queue.isEmpty()) cout << queue.dequeue() << endl;
示例将按顺序输出 1、2、3。
QQueue 继承自 QList。QList 的所有功能也适用于 QQueue。例如,可以使用 isEmpty() 测试队列是否为空,并使用 QList 的迭代类(例如,QListIterator)遍历 QQueue。但除此之外,QQueue 还提供了三个方便的函数,使其能够轻松实现 FIFO 语义:enqueue()、dequeue() 和 head()。
QQueue 的值类型必须是 可赋值的数据类型。这涵盖了大多数常见的数据类型,但编译器不允许例如存储 QWidget 作为值。请使用 QWidget*。
成员函数文档
T QQueue::dequeue()
从队列中删除头项并返回它。此函数假定队列为非空。
这与 QList::takeFirst 相同。
另请参阅:head()、enqueue() 和 isEmpty()。
void QQueue::enqueue(const T &t)
将值t添加到队列尾部。
这与QList::append()相同。
T &QQueue::head()
返回队列头项的引用。此函数假定队列不为空。
这与QList::first()相同。
另请参阅dequeuestä, enqueue和isEmpty。
const T &QQueue::head() const
这是一个重载函数。
[noexcept]
void QQueue::swap(QQueue<T> &other)
将队列other与此队列交换。此操作非常快且永远不会失败。
© 2024 Qt公司有限公司。包含在此处的文档贡献的版权分别为各自所有者所有。此处提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款许可的。Qt及其相关标志是芬兰的Qt公司及其在世界各国的商标。所有其他商标均为其各自所有者的财产。