Stack (C++)
A stack is a standard C++ container adapter, designed to be used in a LIFO context,[1] and is implemented with an interface/wrapper to the type passed to it as a template argument, which defaults to a deque.[2] It is so simple, that it can be described just by a sample interface:
template<class T, Class C = deque<T> >
class std::stack {
protected:
C c;
public:
typedef typename C::value_type value_type;
typedef typename C::size_type size_type;
typedef C container_type;
explicit stack(const C& a = C()) : c(a){} // Inherit the constructor
bool empty() const { return c.empty(); }
size_type size() const { return c.size(); }
value_type& top() const { return c.back(); }
const value_type& top() const { return c.back(); }
void push(const value_type& n) { c.push_back(n); }
void pop() { c.pop_back(); }
};
Overview of Functions
Function | Description | |
---|---|---|
Element Access | top | Get a reference to the top element of the stack, does not pop it |
Modifiers | push | Push an element onto the stack |
pop | Pop off the top element of the stack | |
Size | size | Get number of elements |
References
This article is issued from Wikipedia - version of the 8/21/2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.