Ver Mensaje Individual
  #5 (permalink)  
Antiguo 26/08/2008, 02:48
lna
 
Fecha de Ingreso: diciembre-2007
Mensajes: 2
Antigüedad: 17 años
Puntos: 0
Pregunta Respuesta: ¿Liberar toda la Memoria Dinamica a la vez?

Hola CalgaryCorpus:
Tengo una duda sobre memoria dinamica, a ver si pudieras responderme...
¿Que pasa si no se libera la memoria dinamica? ¿Hasta cuando se queda reservada? Esq estoy depurando el programa y siempre hay algun error tonto antes de llegar a los destructores donde libero memoria y por tanto no se libera. En las ultimas veces que lo he ejecutado me da un error al principio (codigo que estaba bien y que no he tocado) que dice: "Unhandled exception in Simulador.exe: 0xC0000005: Access Violation" ¿Puede ser por la mem dinamica?

Otra dudilla relacionada, En el programa que estoy haciendo tengo como miembro de una clase una lista de punteros. Estos punteros apuntan a objetos creados con memoria dinamica por lo que hay que eliminarlos. ¿Cuando en la libreria std::list utilizamos la función clear() se elimina también la memoria dinamica reservada??

Ej:
std::list<int*> numeros; //es miembro de la clase

funcion()
{
int* a = new int;
a = 7;
numeros.push_back(a);
}

¿en el destructor bastaria con hacer "numeros.clear()" ??

Muchas gracias por tu ayuda,
Un saludo