注:
-
构造函数默认为c++11
-
函数原型省略了一些细节,只展示实际需要填写的情况(分配器已经隐藏了,需要可以去c++reference查看)
-
参数栏表示传入的两个参数的意义而不是类型
-
返回值栏表示类型而不是意义
-
粉红色表示为c++11新特性
构造函数
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
构造函数 | explicit queue (const container_type& ctnr); | 容器类型的参数 | default | 创建一个queue,并初始化,赋ctnr的值 |
构造函数 | template <class Alloc> queue (container_type&& ctnr, const Alloc& alloc); | 容器类型的参数/无(常用) | default | 一般用来创建空的queue |
构造函数 | template <class Alloc> explicit queue (const Alloc& alloc); | 一个构造器 | default | 创建一个queue,并把初始化为alloc的内容 |
构造函数 | template <class Alloc> queue (const container_type& ctnr, const Alloc& alloc); | 容器类型的参数,一个构造器 | default | 创建一个queue,其内部容器是以cntr和alloc作为参数构造的 |
构造函数 | template <class Alloc> queue (container_type&& ctnr, const Alloc& alloc); | 容器类型的参数,一个构造器 | default | 创建一个queue,其内部容器由std::move(cntr)和alloc作为参数构造。 |
构造函数 | template <class Alloc> queue (const queue& x, const Alloc& alloc); | queue x,一个构造器 | default | 创建一个queue,并初始化为x内容,并由构造器作为参数 |
构造函数 | template <class Alloc> queue (queue&& x, const Alloc& alloc); | queue x,一个构造器 | default | 创建一个queue,并初始化为x内容,并由构造器作为参数 |
N/A(无析构函数) | N/A | N/A | N/A | N/A |
queue的构造函数也好怪啊!大家看c++98的就好,忽略11版本的吧
成员方法
方法(method) | 原型(prototype) | 参数(param) | 返回值(return) | 功能(function) |
---|---|---|---|---|
empty | bool empty() const; | 无 | bool | 返回是否为空 |
size | size_type size() const; | 无 | 非负整数 | 返回容器中的元素数量 |
front | reference front(); | 无 | 引用 | 返回队首元素 |
front | const_reference front() const; | 无 | 引用 | 返回队首元素 |
back | reference back(); | 无 | 引用 | 返回队尾元素 |
back | const_reference back() const; | 无 | 引用 | 返回队尾元素 |
push | void push (const value_type& val); | 添加的值val | 无 | 将一个值添加到队列尾部 |
push | void push (const value_type& val); | 添加的值val | 无 | 将一个值添加到队列尾部 |
emplace | template <class... Args> void emplace (Args&&... args); | 添加的n个参数 | 无 | 将(n个)值(构造性的)添加到队列中 |
pop | void pop(); | 无 | 无 | 弹出队首元素 |
swap | void swap (queue& x) noexcept(/*see below**/); | queue x | 无 | 将两个队列中的内容交换 |