一、std::stack 的特点


二、初始化方式

🔹1. 默认构造

std::stack<int> st;  // 空栈,底层用 deque

🔹2. 使用指定底层容器构造

std::stack<int, std::vector<int>> st_vec;      // 用 vector 作为底层
std::stack<int, std::list<int>> st_list;       // 用 list 作为底层

注意:底层容器必须支持 back()、push_back()、pop_back()。


🔹3. 用已有容器初始化

std::deque<int> dq = {1, 2, 3};
std::stack<int> st(dq);  // 栈顶为 3

✅ 三、成员函数详细介绍

成员函数 参数/重载 返回值 功能说明
push(val) 单个值 void 将元素压入栈顶
emplace(args...) 构造参数 void 原地构造栈顶元素(更高效)
pop() 无参数 void 弹出栈顶元素(不返回被删元素)
top() 无参数 T& / const T& 返回栈顶元素的引用
empty() 无参数 bool 判断栈是否为空
size() 无参数 size_t 返回栈中元素个数
swap(st2) 另一个 stack<T> void 与另一个 stack 交换内容