Las listas de STL se usa (casi) igual como las listas de leda (ya que ambos están implementadas con plantillas). ¡Pero sus iteradores son diferentes! Existen dos tipos de iteradores: iteradores constantes que no permiten manipular el objeto contenido en la lista, y iteradores no constantes que sí permiten modificaciones de los objetos.
Ejemplo:
Si almacenamos las esquinas de un polígono tridimensional en una lista de puntos del tipo d3_point podemos dibujar dicho polígono con OpenGL así:
list<d3_point> L;
...
glBegin(GL_POLYGON);
for(
list<IGPoint>::const_iterator it=L.begin();
it!=L.end();
it++
) {
glVertex3d(it->xcoord(),it->ycoord(),it->zcoord());
}
glEnd();
Es decir, un iterador de STL se comporta parecido a un
puntero inteligente que se inicializa para que apunte
al principio de la lista, y se incrementa simplemente para avanzar
sobre la lista hasta que se llegue a su final.