1 需求
- STL里的stack是不容许遍历的。因此,无法使用find等函数。
2 代码
template<typename T, class Container = std::list<T> >
class Stack
{
public:
typedef typename Container::iterator iterator;
iterator begin(){ return container_.begin(); }
iterator end() { return container_.end(); }
void push(const T& vaule){ container_.push_front(vaule); }
void pop(){ container_.pop_front();}
T top(){ return container_.front(); }
size_t size() { container_.size(); }
private:
Container container_;
};