Такой странный на первый взгляд вопрос. Недавно сдавал экзамен по ООП, но с преподом ОЧЕНЬ не сложилось, ненавидит он меня люто. Впрочем, он никого не любит, но меня особенно. Так вот, был задан такой вопрос: "Что является значением ссылки в С++?".
Первое что приходит в голову- с точки зрения высокого уровня значение переменной(объекта) на который указывает ссылка. А вот если спуститься ниже, то все совсем не очевидно. Есть ли там адрес объекта, на который он указывает, или это просто псевдоним и при компиляции происходит прямая подстановка значения\регистра\чего-то ещё? Я понимаю, что это зависит от компилятора, но тем не менее. Есть ли однозначный ответ с точки зрения машинного кода? Несколько семплов студии дизассемблил, там никакой памяти под ссылку не выделялось, но перебрать все варианты и все компиляторы не представляется возможным.
Примечание:
1)Ну ООП учили на примере С++. А вообще, без разницы. Заинтересовало, можно ли дать ответ вообще однозначно правильный с любой точки зрения.
2) sgx в этом и состоит вопрос, то что адрес представлен интом это очевидно, но есть ли там этот адрес, вернее когда вообще выделяется память под ссылку, и выделяется ли хоть когда-то. С учётом того, что к ссылке не применимо взятие адреса, наверное таки после компиляции ссылок нет, но это так, догадки. Регулируется ли это какими-нибудь стандартами, или хотя бы документируются где-то рекомендации по реализации компиляторами
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.