I actualmente tiene el siguiente bucle for:Iterador de segundo al último elemento de una lista
for(list<string>::iterator jt=it->begin(); jt!=it->end()-1; jt++)
I tiene una lista de cadenas que está en una lista más grande (list<list<string> >
). Quiero recorrer el contenido de la lista interna hasta que llegue al segundo elemento. Esto se debe a que ya procesé los contenidos del elemento final y no tengo motivos para procesarlos nuevamente.
Sin embargo, el uso de it->end()-1
no es válido. No puedo usar el operador -
aquí. Si bien podría usar el operador --
, esto disminuiría este iterador final en cada ciclo.
Creo que una lista STL es una lista doblemente vinculada, por lo que desde mi punto de vista, debería ser posible hacerlo.
¿Asesoramiento? Gracias de antemano
Aprecié la simplicidad de esta solución. Sí, otras soluciones con un iterador inverso fueron agradables, pero tu solución me enseñó un método sin usar un iterador especial. – BSchlinker
"Si no quieres complicarte creando un functor", hoy te recomendaría simplemente poner una lambda allí – Paladin