¿Cómo se ve una referencia de C ++, en cuanto a la memoria?

Dado:

int i = 42;
int j = 43;
int k = 44;

Al observar las direcciones de variables, sabemos que cada una ocupa 4 bytes (en la mayoría de las plataformas).

Sin embargo, considerando:

int i = 42;
int& j = i;
int k = 44;

Veremos esa variablei de hecho toma 4 bytes, peroj tomaninguna yk Toma de nuevo 4 bytes en la pila.

¿Que está sucediendo aquí? Parece quej es simplemente inexistente en el tiempo de ejecución. ¿Y qué pasa con una referencia que recibo como argumento de función? Esedebe tomar un poco de espacio en la pila ...

Y mientras estamos en ello, ¿por qué no puedo definir una matriz o referencias?

int&[] arr = new int&[SIZE]; // compiler error! array of references is illegal

Respuestas a la pregunta(8)

Su respuesta a la pregunta