Dado que STL es un conjunto de clases de plantilla de C++, es conveniente saber cómo se estructuran estas clases para trabajar con STL.
C++ ha agregado dos nuevas palabras clave para admitir plantillas: "plantilla"; y "nombre de tipo". Usándolos, puede escribir una función genérica que se expandirá a los tipos requeridos en el momento de la compilación. Por ejemplo, una función de plantilla para obtener el máximo de dos valores:

plantilla <nombre de tipo T>
T myMax(T x, T y)
{
   retorno (x > y)? x: y;
}
  
int main()
{
  cout << myMax<int >(3,  7) << endl;
  cout << myMax<doble >(3.0,  7.0) << endl;
  cout << myMax<char >('g', 'e') << endl;
  
  return 0;
}