類模板
<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 相同

成員函式


非成員函式過載


非成員類特化