Declarar un puntero en C++ puede parecer una tarea trivial, pero hay detalles importantes a tener en cuenta.

Declaración y definición de punteros en C++

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