Как выглядит ссылка на C ++ с точки зрения памяти?

Дано:

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

Изучая адреса переменных, мы знаем, что каждый из них занимает 4 байта (на большинстве платформ).

Однако, учитывая:

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

Мы увидим эту переменнуюi действительно занимает 4 байта, ноj принимаетnone а такжеk занимает снова 4 байта в стеке.

Что здесь происходит? Это выглядит какj просто не существует во время выполнения. А как насчет ссылки, которую я получаю в качестве аргумента функции? Тотmust занять место в стеке ...

И в то время как мы на это находимся - почему я не могу определить массив или ссылки?

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

Ответы на вопрос(8)

Ваш ответ на вопрос