1. C++中stack 是容器么?
答:STL中栈往往不被归类为容器,而被归类为container adapter(容器适配器)
2. 我们使用的stack是属于那个版本的STL?
答:P.J.Plauger STL 由P.J.Plauger参照HP STL实现出来的,被Visual C++编译器所采用,不是开源的。
被Linux的C++编译器GCC所采用,SGI STL是开源软件
3. 我们使用的STL中stack是如何实现的?
我们常用的SGI STL,如果没有指定底层实现的话,默认是以deque为缺省情况下栈的低层结构。
std::stack<int, std::vector<int> > third; // 使用vector为底层容器的栈
std::queue<int, std::list<int>> third; // 定义以list为底层容器的队列
4. stack 提供迭代器来遍历stack空间么?
栈提供push 和 pop 等等接口,所有元素必须符合先进后出规则,所以栈不提供走访功能,也不提供迭代器(iterator)。