Quiero usar una lista circular.¿Existe una implementación estándar de una lista circular para C++?
corto de poner en práctica mi propia (like this person did) ¿cuáles son mis opciones?
Específicamente lo que quiero hacer es iterar sobre una lista de objetos. Cuando mi iterador llegue al final de la lista, debería regresar automáticamente al principio. (Sí, me doy cuenta de que esto podría ser peligroso.)
See Vladimir's definition of a circular_iterator
: "Un circular_iterator nunca será igual con CircularList :: end(), por lo tanto, siempre puede desreferencia este iterador."
Gracias Naaff! Modificar el índice con el tamaño del vector es una solución tan simple, me da vergüenza que no pensé en eso. – Runcible
Si se asegura de que el tamaño de su 'vECTOR' es una potencia de dos, entonces en vez de la sobrecarga caro de la operación de módulo, utilice el bit a bit' 'Y en lugar del operador, ya que sólo cuesta un ciclo. Funciona así: '(n mod (2^k)) == (n & (2^k - 1))' p. Ej. 'n% 256 == (n & (255))' –