26/08/2008, 02:48
|
| | Fecha de Ingreso: diciembre-2007
Mensajes: 2
Antigüedad: 17 años Puntos: 0 | |
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 |