Declarar un puntero en C++ puede parecer una tarea trivial, pero hay detalles importantes a tener en cuenta.
Click aquí para una versión accesible de la infografía (apta para lectores electrónicos)
Declaración y definición de punteros “crudos” en C++.
Un puntero es una variable que contiene una dirección de memoria.
Un puntero declarado sin un valor inicial tiene contenido indefinido:
string saludo;
string * ptr;
La primera es una variable string. La segunda es un puntero a string.
nullptr indica que no tiene valor:
ptr = nullptr;
Un puntero puede apuntar a una posición de memoria stack o heap:
ptr = &saludo;
ptr = new string();
El primero apunta a stack. El segundo apunta a heap.
En una declaración múltiple, el * se asocia al identificador, no al tipo:
int* x, y;
x es puntero a int. y es int.
💻 Código con ejemplos