Referencia colgante
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
#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
- Pointers and Arrays (C99)
- Topics on Pointers and Arrays
- Dangling Pointer New Hacking Technique (Security)
- Dangling pointers (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).
Datos: Q1642293
Multimedia: Dangling Pointer / Q1642293