Historias
Slashboxes
Comentarios
 

Login Barrapunto

Login

[ Crear nueva cuenta ]

mig21 (7781)

mig21
  reversethis-{moc.liamg} {ta} {pb12gim}
https://twitter.com/yapw

Hola, soy Miguel. Algo que pueda ser relevante aquí... Uhmm... Me gusta escribir en mi bitácora de BP [barrapunto.com] y en su clon en blogspot: Yet Another Programming Weblog [blogspot.com]
Me gustaría que Barrapunto fuese un sitio con más discusiones técnicas y trato de hacer lo que está en mi mano. De todos modos, también me gusta leer flames ;)

No creo que te interese, pero en Lecturas aleatorias [blogspot.com] dejo registro de los libros que voy leyendo...

Esta es toda mi información de usuario :)

Down Kill Up Publicidad

Bitácora de mig21 (7781)

Lunes, 09 de Febrero 2004

Programando en C++ (II)

04:29h.
Tecnología
RAII: Resource Acquisition Is Initialization

Enunciado: La adquisición de recursos se hace en la inicialización.

Justificación: Es una buena práctica coger los recursos en la incialización (construcción) y liberarlos en el destructor. De este modo la gestión de recursos es mucho menos engorrosa; el propio lenguaje se encarga coger y dejar los recursos que gestiona la clase.
Bajo este pricipio se han diseñado clases del tipo std::fstream de la librería estándar (para gestionar ficheros), boost::shared_ptr (memoria) o boost::mutex::scoped_lock (mutex). Las tres pueden reservar recursos en la contrucción y los liberan en la destrucción si procede. Si todo está diseñado correctamente debería ser seguro frente a excepciones, ya que los destructores liberarían todos los recursos adquiridos.

Un ejemplo muy sencillo con ficheros en este enlace.
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • Scoped XML

    (Puntos:1)
    por vokimon (6543) el Lunes, 09 Febrero de 2004, 18:02h (#263395)
    ( http://www.iua.upf.es/~dgarcia | Última bitácora: Sábado, 18 Noviembre de 2006, 21:10h )
    Una bonita forma de escribir XML que usamos en CLAM [iua.upf.es]:

    {
            XmlWriteContext context("prueba.xml");
            XmlElement e("ElementoRaiz");
            {
                    XmlElement se("SubElemento");
                    XmlAttribute at("name","value");
                    XmlContent c("la la la");
            }
            {
                    XmlElement se("SubElemento");
                    XmlAttribute at("name","value");
                    XmlAttribute at2("name2","value2");
            }
    }
    --
    Vokimon. KKEPerians UNLTD. Information belongs to masses.