Referencia colgante

De Wikipedia, la enciclopedia libre

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 en 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]