QQueue Class
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 |
- 所有成员的列表,包括继承成员
- QQue 是隐式共享类的一部分。
注意:该类中的所有函数都是可重入的。
公共函数
详细说明
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 的迭代器类遍历 QQueue(例如,QListIterator )。此外,QQueue 还提供了三个方便的函数,可以轻松实现先进先出语义: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() 相同。
另请参阅 dequeue()、enqueue() 和isEmpty()。
const T &QQueue::head() const
这是一个重载函数。
[noexcept]
void QQueue::swap(QQueue<T> &other)
将此队列与other 互换。该操作速度非常快,从未出现过故障。
© 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.