标签:操作 class 分享 返回值 转化 std pac logs tac
class stack<> 实作出一个stack(也成为LIFO,后进先出),你可以使用push()将任意数量的元素置入stack中,也可以使用pop()将元素依次插入次序反序从容器移除(即后进先出)。
在<stack>中,class stack定义如下:
namespace std { template <class T, class Container = deque<T> > class stack; }
第一个template参数代表元素型别。带有默认值的第二个template参赛用来定义stack内部存放元素的实际容器,缺省采用的是deque。之所以采用deque是因为deque移除元素会释放内存,并且不用重新分配内存时复制所有元素。
例如定义一个元素型别为整数的stack:
std::stack<int> st; // integer stack
实际上,stack只是将各项操作转化为内部容器的各项调用,可以使用任何序列式容器来支持stack,只要它支持back(),push_back(),pop_back()等操作。
例如使用vector来容纳元素:
std::stack<int,std::vector<int> > st; // integer stack that uses a vector
stack就三个接口函数,push(),top(),pop()。
标签:操作 class 分享 返回值 转化 std pac logs tac
原文地址:http://www.cnblogs.com/ChinaHook/p/6985544.html