赞
踩
定义于头文件 <queue>
template<
class T,
class Container = std::deque<T>
> class queue;
std::queue 类是容器适配器,它给予程序员队列的功能——尤其是 FIFO (先进先出)数据结构。
类模板表现为底层容器的包装器一一只提供特定的函数集合。 queue 在底层容器尾端推入元素,从首端弹出元素。
queue 模板类也需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。
这里只列出关于元素操作的成员函数。
元素访问
front 访问第一个元素
back 访问最后一个元素
容量
empty 检查底层的容器是否为空,为空返回true
size 返回容纳的元素数
修改器
push 向队列尾部插入元素
pop 删除第一个元素
swap 交换内容
emplace(C++11) 于尾部原位构造元素
在项目应用当中,一般是一个线程负责向任务队列添加任务push,另外线程负责读取元素front和删除元素pop,注意关于queue的任何添加、判断操作都需要用线程锁保护(若为单线程处理则不需要)。
示例:
std::queue<int> test; // empty queue
test.empty(); //队列是否为空
int size;
size = test.size(); //队列元素个数
int n;
n = test.front(); //返回队头元素
n = test.back(); //返回队尾元素
test.push(20); //向队列添加元素,添加到队尾
test.pop(); //删除下一个元素,也即队头元素
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。