Re[6]: Не могу понять ссылки в C++
От: Stanislav V. Zudin Россия  
Дата: 16.06.24 19:51
Оценка: +1
Здравствуйте, r0nd, Вы писали:

SVZ>>«&a» возвращает, как и ожидается, ни что иное, как адрес объекта, на который ссылается ссылка.


R>Да. Именно это и было целью, однако там дальше есть ассемблерный код, который несмотря на идентичность вывода, адресуется по разным адресам. Что «несколько» противоречит утверждению, что у ссылки нет адреса в памяти. Я утверждаю что есть, ассемблер утверждает что есть. Как же быть?


В ассемблерном коде всё предельно просто.
Две переменные на стеке, в которые кладётся адрес переменной b.
Затем значения этих переменных перекладываются в регистры для вызова printf.
Видимо оптимизация выключена, потому что код совсем кондовый.

Апд. Что касается адреса ссылки. Тебе привели пример, который доказывает, что у ссылки адреса не получить. Под капотом может быть что угодно. Иногда ссылка имеет физическое воплощение, но для программиста оно недоступно.
_____________________
С уважением,
Stanislav V. Zudin
Отредактировано 16.06.2024 19:54 Stanislav V. Zudin . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.