Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/12/2013, 12:07
vosk
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 12 años, 3 meses
Puntos: 83
Respuesta: modificar una lista enlazada c++

Puedes recorrer la lista con un iterador hasta encontrar el Persona que buscas, la desreferencia del iterador sobre ese elemento te sirve como acceso al elemento mismo. En tu ejemplo tienes una lista de Persona, cuando la tienes llena la recorres:


Código C++:
Ver original
  1. list <Persona>::iterator itr_contacto;
  2. for(itr_contacto = contactos.begin(); itr_contacto != contactos.end(); itr_contacto++) {
  3.     if((*itr_contacto).id == 123) {
  4.         (*itr_contacto).nombre = "Otro nombre";
  5.     }
  6. }

La desreferencia del iterador actua como si estuvieses trabajando directamente con el elemento que enviaste a la lista. Si p.ej. tuvieras una lista de punteros, la desreferencia del iterador actuaría igual que si trabajases sobre el puntero.

Saludos
vosk