Foros del Web » Programación para mayores de 30 ;) » C/C++ »

duda memoria dinamica

Estas en el tema de duda memoria dinamica en el foro de C/C++ en Foros del Web. El asunto es el siguiente, en un ejemplo de lista simple enlazada vi que hacian algo así. void Insertar(lista *lista,int v){ pnodo anterior; anterior=(pnodo)new nodo; ...
  #1 (permalink)  
Antiguo 01/07/2009, 13:03
 
Fecha de Ingreso: febrero-2004
Ubicación: Buenos Aires
Mensajes: 60
Antigüedad: 20 años, 2 meses
Puntos: 0
duda memoria dinamica

El asunto es el siguiente, en un ejemplo de lista simple enlazada vi que hacian algo así.

void Insertar(lista *lista,int v){
pnodo anterior;
anterior=(pnodo)new nodo;
lista=anterior->siguiente;
}

Mi duda es si cuando se sale de la función se libera la memoria apuntada por anterior. Por que yo lo había entendido así.
La logica del programa me hace pensar que estaba equivocado, y que la memoria sigue reservada hasta que se invoque un delete sobre esta dirección de memoria.
  #2 (permalink)  
Antiguo 02/07/2009, 01:39
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: duda memoria dinamica

Si, lo que reservas con new lo tenes que liberar con delete.

PD. No hace falta el casting con new.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:47.