[eside-ghost] Guarreando con iterators en C++

Jon Valdés juanval en gmail.com
Mie Ene 23 20:56:50 CET 2008


2008/1/23 Ruben Gonzalez (aka EthDra) <ethdra en telefonica.net>:
>
>  Me temo que esta negro, sip, porque tienes un error de base: un iterator
> sin su vector original es como una caja llena de nitroglicerina, mejor no la
> muevas xD No puedes tener un iterator sin tener su vector a mano, no solo
> porque ya no podras hacer un iterator++ o volverlo al inicio, si no pq
> sencillamente ya no puedes saber si lo que apuntaba ese iterator existe o
> no.

Yap, hacía esa guarrada porque sé que si se llega a esa parte del
código, el vector tiene que seguir existiendo por narices, asi que no
me preocupaba eso

>Si almacenas o pasas un iterator, tendras que mandar con el su vector,
> porque sino, la unica operacion posible (aunque no del todo correcta) con
> ese iterator sera acceder a su contenido, y para eso, pasas el contenido
> directamente.

Al final es lo que he hecho, si. Ha resultado que encapsulando un poco
resultaba no ser demasiado complicado refactorizar todo para cambiar
esta guarrada y hacer algo un poco mas decente.

Gracias a todos por las respuestas :)

taluegooo


Más información sobre la lista de distribución eside-ghost