目录
- 1 概述
- 2 使用实例
- 3 接口使用
- 
   - 3.1 construct
- 3.2 empty
- 3.3 size
- 3.4 front
- 3.5 back
- 3.6 push
- 3.7 emplace
- 3.8 pop
- 3.9 swap
 
1 概述
  队列是一种容器适配器,专门设计用于在FIFO上下文(先进先出)中操作,其中元素被插入容器的一端并从另一端提取。
   队列被实现为容器适配器,容器适配器是使用特定容器类的封装对象作为其底层容器的类,提供一组特定的成员函数来访问其元素。元素被推入特定容器的“后部”,并从其“前部”弹出。
   底层容器可以是标准容器类模板或某些其他专门设计的容器类之一。该底层容器应至少支持以下操作:
- empty 是否为空
- size 队列大小
- front 队首元素
- back 队尾元素
- push_back 入队
- pop_front 出队
 标准容器类deque和list满足这些要求。默认情况下,如果没有为特定的队列类实例化指定容器类,则使用标准容器deque。
其类图如下:
 
2 使用实例
void QueueSuite::pop()
{
   
    std::queue<int> a(std::deque<int>({
    10, 20, 30 }));
    TEST_ASSERT_EQUALS(10, a.front())
    a.pop();
    TEST_ASSERT_EQUALS(20, a.front())
    a.pop();
    TEST_ASSERT_EQUALS(30, a.front())
    if(!a.empty())
        a.pop();
    TEST_ASSERT_EQUALS(true, a.empty())    
}
3 接口使用
3.1 construct
std::queue<int> getQueue(int size, int value)
{
   
    return std::queue<int>(std::deque<int>(size, value));
}
void QueueSuite



![[ARM-2D 专题] arm-2d配套开发工具准备](https://img-blog.csdnimg.cn/direct/c27bf92df98444edb632e8f48e0bfd98.png)














