类模板
<stack>

std::stack

template <class T, class Container = deque<T> > class stack;
后进先出(LIFO)栈
栈(Stack)是一种容器适配器,专门设计用于在 LIFO(后进先出)上下文中操作,其中元素仅从容器的一端插入和提取。

stacks 以容器适配器的形式实现,这些类使用一个被封装的特定容器类的对象作为其底层容器,并提供一组特定的成员函数来访问其元素。元素从特定容器的“后端”压入 (pushed) / 弹出 (popped),这个后端被称为栈的顶部 (top)

底层容器可以是任何标准容器类模板或其他一些专门设计的容器类。该容器应支持以下操作:
  • empty
  • size
  • back
  • push_back
  • pop_back

标准容器类 vectordequelist 满足这些要求。默认情况下,如果未为特定的 stack 类实例化指定容器类,则使用标准容器 deque

模板参数

T
元素的类型。
作为成员类型 stack::value_type 的别名。
Container
存储元素的内部底层容器对象的类型。
value_type 必须是 T
作为成员类型 stack::container_type 的别名。

成员类型

成员类型定义说明
value_type第一个模板参数 (T)元素的类型
container_type第二个模板参数 (Container)底层容器的类型
size_type一个无符号整数类型通常与 size_t 相同
成员类型定义说明
value_type第一个模板参数 (T)元素的类型
container_type第二个模板参数 (Container)底层容器的类型
引用container_type::reference通常是 value_type&
const_referencecontainer_type::const_reference通常是 const value_type&
size_type一个无符号整数类型通常与 size_t 相同

成员函数


非成员函数重载


非成员类特化