Περιέχοντες και επαναλήπτες στην STL
Η STL ορίζει μια σειρά από περιέχοντες (containers) όπως την ουρά, τη στοίβα,
την απεικόνιση και τον πίνακα.
Πάνω στους περιέχοντες αυτούς επιτρέπει την εκτέλεση αλγορίθμων,
όπως την εύρεση ενός στοιχείου, η ένωση δύο περιεχόντων, η
ταξινόμηση, κ.λπ.
Στην STL
ορίζονται οι παρακάτω πρότυποι (ως προς τα στοιχεία που περιέχουν)
περιέχοντες:
- list
 -   διπλά συνδεδεμένη λίστα
 - queue
 -   ουρά
 - deque
 -   ουρά με πρόσβαση και στις δύο άκρες
 - map
 -   απεικόνιση (π.χ. από συμβολοσειρές σε ακέραιους)
 - set
 -   απεικόνιση με μοναδικά στοιχεία στο πεδίο τιμών
 - stack
 -   στοίβα
 - vector
 -   πίνακας
 
Η πρόσβαση των στοιχείων ενός περιέχοντα από τους αλγορίθμους
γίνεται μέσω επαναληπτών (iterators).
Οι επαναλήπτες - ανάλογα με τη δομή των δεδομένων του περιέχοντα - μπορούν
να επιτρέπουν την παρακάτω ιεραρχία κινήσεων:
-  Τυχαία προσπέλαση
 -  Κίνηση προς τις δύο κατευθύνσεις
 -  Κίνηση προς τα εμπρός, ή ανάποδη κίνηση
 
Επίσης, μπορούν να επιτρέπουν την παρακάτω ιεραρχία πρόσβασης στα δεδομένα
που δείχνουν:
-  Είσοδο και έξοδο
 -  Μόνο είσοδο, ή μόνο έξοδο
 
Η κλάση των επαναληπτών ορίζεται στην επικεφαλίδα iterator.
Μερικές μέθοδοι που ορίζονται σε επαναλήπτες είναι οι παρακάτω:
-  advance
 -  distance
 -  ==, !=, <, >, >=, <=
 -  +, -
 -  ++, --
 
Για κάθε περιέχοντα ορίζονται μέθοδοι όπως (στην περίπτωση της
διπλής ουράς):
-  assign
 -  ανάθεση τιμής
 -  at
 -  αναφορά σε στοιχείο
 -  back
 -  το τελευταίο στοιχείο
 -  begin
 -  επαναλήπτης που δείχνει στην αρχή της δομής
 -  clear
 -  διαγραφή όλων των στοιχείων
 -  empty
 -  αληθές αν η δομή είναι άδεια
 -  end
 -  επαναλήπτης που δείχνει στο τέλος της δομής
 -  erase
 -  διαγραφή σειράς στοιχείων
 -  front
 -  το πρώτο στοιχείο
 -  insert
 -  προσθήκη στοιχείου
 -  operator[]
 -  πρόσβαση σε στοιχείο
 -  pop_back
 -  αφαίρεση στοιχείου από το τέλος
 -  pop_front
 -  αφαίρεση στοιχείου από την αρχή
 -  push_back
 -  προσθήκη στοιχείου στο τέλος
 -  push_front
 -  προσθήκη στοιχείου στην αρχή
 -  rbegin
 -  ανάστροφος επαναλήπτης που δείχνει στην αρχή της δομής
 -  rend
 - ανάστροφος επαναλήπτης που δείχνει στο τέλος της δομής
 -  resize
 -  καθορισμός του αριθμού των στοιχείων
 -  size
 -  αριθμός των στοιχείων
 -  swap
 -  εναλλαγή δύο στοιχείων μεταξύ τους
 
Το παρακάτω παράδειγμα ορίζει μια διπλή ουρά ακεραίων, προσθέτει 5 στοιχεία
και τα τυπώνει:
#include <iostream>
#include <deque>
using namespace std;
typedef deque <int>  INTDEQUE;
void main()
{
	// Create A and fill it with elements 1,2,3,4 and 5
	// using push_back function
	INTDEQUE  A;
	A.push_back(1);
	A.push_back(2);
	A.push_back(3);
	A.push_back(4);
	A.push_back(5);
	// Print the contents of A using iterator
	// and functions begin() and end()
	INTDEQUE::iterator pi;
	for (pi = A.begin();  pi != A.end(); pi++)
		cout << *pi << " ";
	cout << "\n";
}