C++-Referenz/ Standardbibliothek/ Container-Klassen/ stack
Alte Seite
Die Arbeit am Buch »C++-Referenz« wurde vom Hauptautor eingestellt. Ein Lehrbuch zum Thema C++ ist unter »C++-Programmierung« zu finden. Eine sehr umfangreiche und gute Referenz gibt es unter cppreference.com.
Diese Seite beschreibt C++98, einen stark veralteten Standard. Aktuelle Referenz.
// Header: stack
template <typename T, typename Container = deque<T> >
class stack{
public:
typedef typename Container::value_type value_type;
typedef typename Container::size_type size_type;
typedef typename Container container_type;
protected:
Container c;
public:
explicit stack(const Container& = Container());
bool empty()const { return c.empty(); }
size_type size()const { return c.size(); }
value_type& top() { return c.back(); }
value_type const& top()const { return c.back(); }
void push(const value_type& x) { c.push_back(x); }
void pop() { c.pop_back(); }
};
// Vergleiche
template <typename T, typename Container>
bool operator==(stack<T, Container> const& x, stack<T, Container> const& y);
template <typename T, typename Container>
bool operator< (stack<T, Container> const& x, stack<T, Container> const& y);
template <typename T, typename Container>
bool operator!=(stack<T, Container> const& x, stack<T, Container> const& y);
template <typename T, typename Container>
bool operator> (stack<T, Container> const& x, stack<T, Container> const& y);
template <typename T, typename Container>
bool operator>=(stack<T, Container> const& x, stack<T, Container> const& y);
template <typename T, typename Container>
bool operator<=(stack<T, Container> const& x, stack<T, Container> const& y);