View this PageEdit this PageUploads to this PageVersions of this PageHomeRecent ChangesSearchHelp Guide

Tutoriales de técnicas de programación

Tutoriales de técnicas de programación


Resource Management (C++)

URLS Página principal y Recursos
Descripción - La mejor manera de evitar leaks y otros problemas es asegurarte de que el lenguaje hace ese trabajo por tí.
- La manera de conseguirlo (C++) es hacer clases para cada cosa que siga el ciclo de Init/Libera, y así, cuando salgas de scope, el lenguaje llamará al Libera automáticamente (aunque salgas con un goto o una excepción).
- Considera el caso de que los objetos tengan que salir del scope actual (p.ej. para contenedores), y para ello usa strong pointers (std::auto_ptr en C++) y weak pointers (punteros normales) -- sólo necesita implemetar los miembros que dan esas transfer semantics (definiendo el constructor de copia y el operador de asignación)
Restricciones Requiere lenguaje orientado a objetos (no vale C)
ComentariosAdemás propone usar siempre la técnica de punteros inteligentes (smart pointers) y otras técnicas estándar