Poiché l'STL è un insieme di classi modello C++, è consigliabile sapere come sono strutturate queste classi per lavorare con l'STL.
C++ ha aggiunto due nuove parole chiave per supportare i template: "template"; e "nome tipo". Usandoli, puoi scrivere una funzione generica che verrà espansa nei tipi richiesti in fase di compilazione. Ad esempio, una funzione modello per ottenere il massimo di due valori:

modello <nometipo T>
T mioMax(T x, T y)
{
   ritorno (x > y)? x: y;
}
  
int main()
{
  cout << mioMax<int >(3,  7) << endl;
  cout << myMax<doppio >(3.0,  7.0) << endl;
  cout << myMax<carattere >('g', 'e') << endl;
  
  ritorno 0;
}