Axel Rogat
Objektorientiertes Programmieren mit C++ und JAVA
 
20.4: allgemeine Operationen Kapitel 20 20.6: Funktions-Objekte 
 
  20.5 Andere spezielle Container  
 

20.5.1 Stacks und Warteschlangen

Diese beiden Templates sind nicht als eigene Container definiert, sondern als Modifikatoren anderer Container. Standardmäßig schränken sie nur die Zugriffsmöglichkeiten auf eine Double-Ended-Queue deque ein. Es kann aber auch ein anderer Container als deque angegeben werden. Der Container wird gelayert.
template <class T, class Container=deque<T> > class stack { protected: Container c; ... } template <class T, class Container=deque<T> > class queue { protected: Container c; ... }
Die Stack-Operationen top, push und pop werden direkt auf die Operationen back, push_back und pop_back des zugrundeliegenden Containers zurückgeführt.

push und pop der Warteschlange benutzen einfach push_back und pop_front des anderen Containers.

Eine priority_queue ist eine Warteschlange für Objekte, die das zusätzliche Attribut "Priorität" besitzen. Das Element mit der höchsten Priorität ist jeweils " top".

20.5.2 Assoziative Container

Diese Container speichern jeweils Paare von Daten, die dann nicht über ihre Nummer oder Position, sondern über den Inhalt eines der beiden Datenteile angesprochen werden.

Unsere Hashtabelle aus Abschnit 16.3.3 ist ein solcher assoziativer Container. Es gibt keinen STL-Container für Hashtabellen.

20.5.3 Nicht-Standard-Container

Einige weitere Klassen gehören zur STL, bieten aber nicht alle Operationen, die vorne für Container aufgeführt sind.

 
20.4: allgemeine Operationen Startseite 20.6: Funktions-Objekte 
 

© 1998 Axel Rogat