[C con Clase] Pregunta sencilla de creo rápida respuesta.

Miguel Ángel Torres Fernández-Píñar miguelangeltorresfp en gmail.com
Mar Abr 28 04:05:57 CEST 2015


Hola.

Sé que esta pregunta se ha respondido en muchos foros, así que disculparme
por ser un poco reiterativo.

Estoy desarrollando un prototipo de motor de videojuegos obviamente super
sencillo.

De momento tengo una clase " Engine " en la que guardo un puntero a las
clases principales de la aplicación :

Clase " Window ", " Render ", " Resources ", etc.....

De esta forma, a través de " Engine " puedo acceder a cualquier otra clase.

Pero obviamente, las demás clases tienen que poder acceder a la instancia
de " Engine ".

De momento simplemente, construyo todas las clases pasándoles una puntero a
la instancia de " Engine ".

Pero en este tipo de casos, cuál creen ustedes que es la mejor opción ?

¿ Singleton por ejemplo ????

Gracias y un saludo desde Madrid.

El 22 de abril de 2015, 21:01, Miguel Ángel Torres Fernández-Píñar <
miguelangeltorresfp en gmail.com> escribió:

> guauuuuuuu, Steven, muy buena explicación como siempre.
>
> Saludos.
>
> El 22 de abril de 2015, 16:34, Davidson, Steven <srd4121 en njit.edu>
> escribió:
>
>> Hola Miguel Ángel,
>>
>> En general, la gran ventaja de los punteros inteligentes es que protegen
>> contra las fugas de memoria. No existen muchas desventajas, pero una
>> posible desventaja importante puede ser un mayor tiempo de ejecución, y por
>> tanto una demora significante, al igual que el uso de más memoria.
>> Dependiendo del tipo de puntero inteligente, se usará un contador de
>> referencias, por lo que requiere algo más de memoria y algunas sentencias
>> más para gestionar este dato.
>>
>> Como siempre, depende de los requisitos del programa. Si el proyecto
>> impone una optimización del tiempo de ejecución, entonces usar algún tipo
>> de puntero inteligente no sea la mejor solución. Este caso daría lugar a
>> crea un diseño basado en punteros directos, pero obviamente con cautela. Si
>> el proyecto es bastante grande o complejo, entonces los punteros
>> inteligentes pueden ayudar muchísimo, ya que no dedicaríamos tiempo a
>> buscar fugas de memoria ni "taparlas", porque este proceso se
>> automatizaría. Tampoco significa que todo el proyecto debe basarse en
>> punteros inteligentes, ni tampoco que todos deben ser del mismo tipo. Hay
>> que mirar los requisitos de cada tipo de puntero inteligente y sopesar los
>> factores importantes.
>>
>> Como es la norma, no existe una forma única de hacer las cosas. Hay que
>> tomar decisiones según nos interese; hay que elegir la herramienta que
>> mejor nos compense para el problema que tenemos entre manos.
>>
>>
>> Espero que esto vaya aclarando el tema.
>>
>> Steven
>>
>>
>> 2015-04-22 3:18 GMT-04:00 Miguel Ángel Torres Fernández-Píñar <
>> miguelangeltorresfp en gmail.com>:
>>
>>> Muchas gracias Steven como siempre.
>>>
>>> Poco a poco me voy aclarando.
>>>
>>> Quizás me falte ver ahora en qué casos pudiera ser contraproducente usar
>>> punteros inteligentes, porque de momento parece que todo son ventajas.
>>>
>>
>> _______________________________________________
>> 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/20150428/99f51472/attachment.html>


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