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