Jak wygląda odwołanie do C ++, pod względem pamięci?
Dany:
int i = 42;
int j = 43;
int k = 44;
Patrząc na adresy zmiennych wiemy, że każdy z nich zajmuje 4 bajty (na większości platform).
Jednak biorąc pod uwagę:
int i = 42;
int& j = i;
int k = 44;
Zobaczymy tę zmiennąi
rzeczywiście zajmuje 4 bajty, alej
trwaŻaden ik
zajmuje ponownie 4 bajty na stosie.
Co tu się dzieje? To wygląda jakj
po prostu nie istnieje w środowisku wykonawczym. A co z odniesieniem, które otrzymuję jako argument funkcji? Żemusi trochę miejsca na stosie ...
A skoro już o tym mowa - dlaczego nie mogę zdefiniować tablicy lub referencji?
int&[] arr = new int&[SIZE]; // compiler error! array of references is illegal