[C con Clase] Buenas tardes a todos. En relación a patrón Singleton en C++. Pregunta compleja.

Miguel Ángel Torres Fernández-Píñar miguelangeltorresfp en gmail.com
Dom Jul 13 12:13:55 CEST 2014


Muchas gracias Borja por tu respuesta. Sé que estos son temas complejos y
mi nivel de C++ es bastante bajo.

Parece que ya funciona.

Hay una cosa que no entiendo en el ejemplo de
http://caymcorp.wordpress.com/2010/09/28/singletons-en-c-el-problema-de-la-destruccion/

Para qué se usa esto :

public:
            virtual ~SingletonManagers(){};

Se supone que el destructor que se llama automáticamente con :
atexit(&DestroySingleton);    // At exit, destroy the singleton

es :

// Delete the singleton instance
            static void DestroySingleton()
            {
                if(pInstance_ != NULL) delete pInstance_;
            }


Gracias Borja y un saludo a todos.


El 12 de julio de 2014, 11:12, Borja Ilundain <borjailundain en gmail.com>
escribió:

> Hola!
> El problema del singleton es que su destructor, al ser privado o
> protegido, nunca es invocado, por lo que tienes el problema que comentas.
> La solución más habitual es añadir un método a esta clase que libere toda
> esta memoria, que lo invocarías justo antes de salir de la aplicación.
>
> No sé si me he explicado muy bien... Aquí te dejo un enlace a un artículo
> con otra solución común:
> http://caymcorp.wordpress.com/2010/09/28/singletons-en-c-el-problema-de-la-destruccion/
>
> Un saludo.
>
>
> El 11 de julio de 2014, 20:00, Miguel Ángel Torres Fernández-Píñar <
> miguelangeltorresfp en gmail.com> escribió:
>
>> Hola a todos.
>>
>> Nada, es que aun no sé apenas nada de patrones a la hora de organizar mis
>> aplicaciones en C++.
>>
>> Estoy usando una librería que va sobre Marmalade.
>>
>> Funciona con un sistema de vistas que generan el loop para la aplicación.
>>
>> El caso es que me gustaría poder crear como mini aplicaciones.
>>
>> Para ello había pensado en tener toda la información de la aplicación
>> centralizada en una clase Singleton a la que llamar desde las diferentes
>> mini aplicaciones. Por ejemplo para solicitar el tamaño de la pantalla, la
>> carpeta de la que coger los assets, etc...
>>
>> Pero cuando cierro la aplicación, da problemas con la clase singleton. No
>> se cierra bien porque no puede liberar la memoria de estas vistas
>> referenciadas en esa clase singleton. ( o no sé bien por qué ).
>>
>> No sé si con esta información que he proporcionado alguien podría
>> ayudarme a enfocar este problema y buscarle una solución.
>>
>> Muchas gracias de antemano y un saludo a todos !!!
>>
>> Migue.
>>
>> _______________________________________________
>> 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
>>
>
>
> _______________________________________________
> 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
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20140713/4d74d51c/attachment.html>


Más información sobre la lista de distribución Cconclase