Difference between revisions of "cpp/container/stack"
From cppreference.com
Line 11: | Line 11: | ||
The class template acts as a wrapper to the underlying container - only a specific set of functions is provided. The stack pushes and pops the element from the back of the underlying container, known as the top of the stack. | The class template acts as a wrapper to the underlying container - only a specific set of functions is provided. The stack pushes and pops the element from the back of the underlying container, known as the top of the stack. | ||
+ | |||
+ | The only reason to use the {{c|std::stack}} instead of the underlying container is to make it clear that only stack operations are performed. | ||
===Template parameters=== | ===Template parameters=== |
Revision as of 09:40, 26 April 2013
Defined in header <stack>
|
||
template< class T, |
||
The std::stack
class is a container adapter that gives the programmer the functionality of a stack - specifically, a FILO (first-in, last-out) data structure.
The class template acts as a wrapper to the underlying container - only a specific set of functions is provided. The stack pushes and pops the element from the back of the underlying container, known as the top of the stack.
The only reason to use the std::stack instead of the underlying container is to make it clear that only stack operations are performed.
Contents |
Template parameters
T | - | The type of the stored elements. |
Container | - | The type of the underlying container to use to store the elements. The container must satisfy the requirements of Template:concept. Additionally, it must provide the following functions with the usual semantics:
The standard containers std::vector, std::deque and std::list satisfy these requirements. |