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

Davidson, Steven srd4121 en njit.edu
Mie Abr 22 16:34:24 CEST 2015


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.
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20150422/f91a36b4/attachment.html>


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