Referencia colgante

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

En programación, si una estructura en el heap (lugar de donde se asigna memoria) es destruida antes de que todas las referencias (los apuntadores) a la misma sean destruidas, cualquier referencia restante se llama referencia colgante (Dangling Reference).

Lenguajes como C detectan a tiempo de ejecución estas referencias y anuncian un error.

Existen métodos para detectar estas referencias implementando un contador de referencias o un trazador de alcance en los lenguajes de programación que usan recolectores de basura.

Ejemplo[editar]

#include <stdlib.h>
{
    char *cp = malloc ( A_CONST );  /* cp apunta al espacio reservado en el heap A_CONST */
    /*... */
    free ( cp );      /* libero el espacio reservado, ahora cp es una referencia colgante */
    cp = NULL;        /* cp deja de ser una referencia colgante, puesto que ya no apunta a ningún sitio */
    /*... */
}

Enlaces externos[editar]