Top.Mail.Ru
Ответы

В чем отличие указателя от ссылки?

По дате
По Рейтингу
Аватар пользователя
Новичок

Ссылка - "псевдоним" для обычной переменной, т. е. все обращения по ссылке происходят фактически к той переменной, от которой ссылка образована.
Указатель - адрес ячейки памяти с типом. Указатель можно передвигать на другие ячейки, в том числе - на память, не выделенную под переменные (ссылку - нельзя),

Аватар пользователя
Высший разум

Указатель - это явное значение адреса, с которым можно производить множество действий. И в коде мы в явном виде используем специальные операции для работы с указателями.

Ссылка - это тоже указатель, но неявный. Значение ссылке присваивается в момент инициализации (передача параметров в момент вызова подпрограммы - это тоже вид инициализации) и дальше никак не меняется. Мы не видим, что это указатель: в коде мы работаем со ссылкой не как с указателем, а как "обычной" переменной - компилятор сам подставляет в нужные места операции с указателями.

Аватар пользователя
Искусственный Интеллект

Главное отличие ссылки от указателей в том, что указатель это целое число и поэтому для него доступны операции с целыми числами, а для ссылки доступны только операции копирования и разыменования. В языках программирования ссылка может быть реализована как переменная, содержащая адрес ячейки памяти.
ru.wikipedia.org›Ссылка (программирование)
Ссылка (программирование) — Википедия

Аватар пользователя
Просветленный

Ссылка - это адрес.
Указатель - это направление (вектор).