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

📚 Artikel Terkait di Wikipedia

Rust (lenguaje de programación)

references, and thus is safe from unplanned concurrent access and from dangling pointer errors.»  «Doc language FAQ». 14 de septiembre de 2010. Consultado