<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
Gracias por el programa.<BR>
 <BR>
Leyendo un tutorial del toolkit FLTK en la web me ha surgido otra duda sobre este tema.<BR>
 <BR>
Si se tiene este código C++:<BR>
 <BR>
main.cpp<BR>
--------<BR>
 <BR>
#include "ClaseA.h"<BR>
 <BR>
ClaseA objetoA(100);<BR>
 <BR>
int main(int argc, char** argv, char** envp)<BR>
{<BR>
    return 0;<BR>
}<BR>
 <BR>
 <BR>
ClaseA.h<BR>
--------<BR>
 <BR>
#ifndef ClaseA_Header<BR>
#define ClaseA_Header<BR>
 <BR>
class ClaseA<BR>
{<BR>
    private:<BR>
 <BR>
        int* p;<BR>
 <BR>
    public:<BR>
 <BR>
        ClaseA(unsigned int n);<BR>
        ~ClaseA();<BR>
};<BR>
 <BR>
#endif<BR>
 <BR>
 <BR>
ClaseA.cpp<BR>
----------<BR>
 <BR>
#include "ClaseA.h"<BR>
 <BR>
ClaseA::ClaseA(unsigned int n)<BR>
{<BR>
    this->p = new int[n];<BR>
}<BR>
 <BR>
ClaseA::~ClaseA()<BR>
{<BR>
    delete (this->p);<BR>
}<BR><BR>
 <BR>
¿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"?<BR>
 <BR>
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.<BR>
 <BR>
¿es esto cierto?<BR>
 <BR>
 <BR>
Muchas gracias.<BR>
 <BR>
 <BR>> Date: Sat, 1 Aug 2009 00:03:57 +0200<BR>> From: programante@gmail.com<BR>> To: cconclase@listas.conclase.net<BR>> Subject: Re: [C con Clase] [C con clase] ¿exit() libera memoria dinámica?<BR>> <BR>> David Inocente Romero Escalona escribió:<BR>> > Una última duda sobre el tema de la reserva dinámica de memoria.<BR>> > <BR>> > ¿y si el programa termina anormalmente (por ejemplo, porque se aborta<BR>> > llamando a la función "abort()" ó porque recibe una señal de aborto y<BR>> > no la maneja)? ¿se sigue ejecutando el código objeto que añade el<BR>> > compilador de C++ para destruir todos los objetos que se hayan creado<BR>> > y sigan vivos?<BR>> Si la salida es anormal, se cierra el programa directamente. Intentar<BR>> ejecutar código de "limpieza" podría llevar a la ejecución de código<BR>> malicioso, por ejemplo.<BR>> <BR>> > Por cierto, ¿conoces algún programa/herramienta para win32 que permita<BR>> > saber si un cierto proceso tiene "fugas de memoria" (memory leaks)?<BR>> > <BR>> > Saludos.<BR>> <BR>> Hay un programa de Microsoft llamado Application Verifier que ayuda a ello.<BR>> <BR>> <BR>> _______________________________________________<BR>> Lista de correo Cconclase Cconclase@listas.conclase.net<BR>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net<BR>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ<BR><br /><hr />¿Quieres los nuevos emoticonos en 3D?  <a href='http://www.vivelive.com/emoticonos3d/index2.html' target='_new'>¡Descárgatelos gratis! </a></body>
</html>