Última actualización: 28 de julio de 2020.
Definiciones básicas
Al trabajar con el lenguaje C++, el empleo de
punteros resulta inevitable, ya sea para introducir semántica de referencia en nuestros códigos, alojar objetos en el
free store, emplear polimorfismo dinámico u operar con estructuras dinámicas de datos y sus iteradores. Familiarizarse con este tipo de variables, hasta el punto de convertir su manipulación en una tarea natural para el programador, requiere esfuerzo y numerosas horas de práctica. Sin embargo, los conceptos básicos involucrados en su aprendizaje resultan extremadamente simples.
Un puntero es una variable que almacena la dirección en memoria de otro objeto. Como tal, el espacio ocupado en memoria por un puntero (independientemente del tipo de objeto que referencie) coincide con el número de bytes necesario para especificar una dirección de memoria: 4 bytes en la arquitectura x86, 8 bytes en la arquitectura x86-64.