Вопрос связан с указателями и ссылками в с++

программирование C++ ссылки указатели

Есть такой код в случае использования указателей: int a=5 ;int* pa=&a; (создаем переменную a и указатель на нее)
cout<<pa;(выводит адрес переменной a)
cout<<&pa;(выводит адрес указателя)
Вот код в случае использования ссылок: int a=5 ;int& ra=a;(создаем переменную a и ссылку на нее)
cout<<&ra(почему выводится такой же адрес что и у переменной a)
и какой вообще смысл обьявления ссылки
Ответы:
Создание ссылки - это просто создание синонима имени переменнной. Пожалуй, единственный случай, где они могут использоваться - это передача параметра в функцию. Передача параметра по ссылке это то же самое, что передача параметра по указателю, но в этом случае не надо использовать операцию разадресации (звёздочку). Это значительно улучшает читаемость программы.
Ссылка не занимет место в памяти, просто компилятор запоминает, что у какой-то переменной есть два имени - указанное при объявлении пременной и имя ссылки.
Указатель - это переменная, в которой храниться адрес другой переменной.
Добавлю к уже существующему ответу, что ссылки можно еще возвращать из функций, только делать надо это аккуратно чтобы не нарушить инкапсуляцию.


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.