Os escribo para ver si me podéis resolver una dudilla: estoy trabajando con los punteros y la memoria dinámica, ya he visto cómo asignar memoria en tiempo de ejecución del Free Store con "new", liberarla antes de volver a usar el puntero con "delete", los riesgos que conlleva, etc.
Pero se me ha ocurrido una cosa un poco más compleja: ejecutar condicionales que vayan asignando memoria de forma indefinida (por ejemplo para una agenda, que se reserve memoria cada vez que se quiera añadir una persona de tal forma que podamos añadir tanta gente como queramos, u otro tipo de base de datos).
Bastaría con hacer algo asi como:
Código
if (opcion == 4) //La cuarta opcion por poner algo es "añadir alguien a la agenda" { personas *puntero = new personas; //La clase "personas" contendría los distitnos datos de cada persona añadida a la agenda }
El caso es que, al querer añadir un nuevo usuario, con "personas *puntero = new personas" perdería el usuario anterior que hemos guardado.
Mi pregunta de forma concisa: ¿cómo se podría hacer para no perder las direcciones de las zonas de memoria a las que ha ido apuntando un puntero y asi poder volver a ellas?. Guardarlas en una tabla no tiene sentido ya que la tabla es finita.
Gracias y saludos.