Como uma referência C ++ se parece com memória?
Dado:
int i = 42;
int j = 43;
int k = 44;
Observando os endereços das variáveis, sabemos que cada um ocupa 4 bytes (na maioria das plataformas).
No entanto, considerando:
int i = 42;
int& j = i;
int k = 44;
Vamos ver essa variáveli
de fato leva 4 bytes, masj
levaNenhum ek
leva novamente 4 bytes na pilha.
O que esta acontecendo aqui? Parece quej
é simplesmente inexistente em tempo de execução. E que tal uma referência que recebo como argumento de função? quedevo ocupe algum espaço na pilha ...
E enquanto estamos nisso - por que não posso definir uma matriz ou referências?
int&[] arr = new int&[SIZE]; // compiler error! array of references is illegal