[C con Clase] [C con clase] ¿exit() libera memoria dinámica?
David fire
ddfire en gmail.com
Dom Ago 2 20:18:31 CEST 2009
pone un "cout << "me estoy destruyendo << endl;" dentor del destructor y te
vas a enterar.
David
El 1 de agosto de 2009 19:09, David Inocente Romero Escalona <
di.romero en hotmail.es> escribió:
> Gracias por el programa.
>
> Leyendo un tutorial del toolkit FLTK en la web me ha surgido otra duda
> sobre este tema.
>
> Si se tiene este código C++:
>
> main.cpp
> --------
>
> #include "ClaseA.h"
>
> ClaseA objetoA(100);
>
> int main(int argc, char** argv, char** envp)
> {
> return 0;
> }
>
>
> ClaseA.h
> --------
>
> #ifndef ClaseA_Header
> #define ClaseA_Header
>
> class ClaseA
> {
> private:
>
> int* p;
>
> public:
>
> ClaseA(unsigned int n);
> ~ClaseA();
> };
>
> #endif
>
>
> ClaseA.cpp
> ----------
>
> #include "ClaseA.h"
>
> ClaseA::ClaseA(unsigned int n)
> {
> this->p = new int[n];
> }
>
> ClaseA::~ClaseA()
> {
> delete (this->p);
> }
>
>
> ¿al terminar el programa de forma normal (es decir, al terminar la función
> "main()") se envía un mensaje destructor de la clase "ClaseA" al objeto
> "objetoA"?
>
> Es que he leído que si se crean objetos globales (fuera de toda función,
> incluida la función "main()"), cuando termina el programa de forma normal no
> se destruyen dichos objetos.
>
> ¿es esto cierto?
>
>
> Muchas gracias.
>
>
> > Date: Sat, 1 Aug 2009 00:03:57 +0200
> > From: programante en gmail.com
> > To: cconclase en listas.conclase.net
> > Subject: Re: [C con Clase] [C con clase] ¿exit() libera memoria dinámica?
> >
> > David Inocente Romero Escalona escribió:
> > > Una última duda sobre el tema de la reserva dinámica de memoria.
> > >
> > > ¿y si el programa termina anormalmente (por ejemplo, porque se aborta
> > > llamando a la función "abort()" ó porque recibe una señal de aborto y
> > > no la maneja)? ¿se sigue ejecutando el código objeto que añade el
> > > compilador de C++ para destruir todos los objetos que se hayan creado
> > > y sigan vivos?
> > Si la salida es anormal, se cierra el programa directamente. Intentar
> > ejecutar código de "limpieza" podría llevar a la ejecución de código
> > malicioso, por ejemplo.
> >
> > > Por cierto, ¿conoces algún programa/herramienta para win32 que permita
> > > saber si un cierto proceso tiene "fugas de memoria" (memory leaks)?
> > >
> > > Saludos.
> >
> > Hay un programa de Microsoft llamado Application Verifier que ayuda a
> ello.
> >
> >
> > _______________________________________________
> > Lista de correo Cconclase Cconclase en listas.conclase.net
> >
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> > Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
> ------------------------------
> ¿Quieres los nuevos emoticonos en 3D? ¡Descárgatelos gratis!
> <http://www.vivelive.com/emoticonos3d/index2.html>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
--
(\__/)
(='.'=)This is Bunny. Copy and paste bunny into your
(")_(")signature to help him gain world domination.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20090802/e382ac8b/attachment-0001.html>
Más información sobre la lista de distribución Cconclase