Wie sieht eine C ++ - Referenz in Bezug auf den Speicher aus?

Gegeben:

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

Wenn wir uns die Adressen der Variablen ansehen, wissen wir, dass jede 4 Bytes belegt (auf den meisten Plattformen).

Bedenkt man jedoch:

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

Wir werden diese Variable seheni dauert zwar 4 bytes, aberj nimmtkeiner undk nimmt wieder 4 Bytes auf dem Stapel.

Was passiert hier? Es sieht aus wiej ist zur Laufzeit einfach nicht vorhanden. Und was ist mit einer Referenz, die ich als Funktionsargument erhalte? DasMuss nimm etwas Platz auf dem Stapel ...

Und wenn wir schon dabei sind - warum kann ich kein Array oder keine Referenzen definieren?

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

Antworten auf die Frage(8)

Ihre Antwort auf die Frage