LINUX.ORG.RU

История изменений

Исправление wandrien, (текущая версия) :

Так это одно и то же.

Нет.

ссылка — более узкое понятие, подразумевающее обычно адрес одной единственной переменной

Ссылка и указатель — это две разные абстракции модели исполнителя. Их определение и свойства между языками отличаются и зависят от конкретной модели.

Но называть указатель ссылкой — абсурд.

Одно из основных свойств ссылки — её синтаксическая прозрачность. Если у вас написано a + 1, то по виду выражения вы не знаете, ссылка перед вами или нет.

Могут быть языки со ссылками, но без указателей. (Скриптота.)

Могут быть языки с указателями, но без ссылок. (Си)

Могут быть с обеими абстракциями. (Си++, Паскаль)

И наверное без обеих. (Тут сходу не назову полнофункциональный ЯП… Ну пусть будет shell.)

При этом ссылки могут фигурировать только как аргументы функций (кажется, в Паскале так – поправьте, если ошибаюсь) или свободно (C++, php). Быть неизменяемыми (C++) или иметь возможность перепривязки к другому объекту (php).

Исходная версия wandrien, :

Так это одно и то же.

Нет.

ссылка — более узкое понятие, подразумевающее обычно адрес одной единственной переменной

Ссылка и указатель — это две разные абстракции модели исполнителя. Их определение и свойства между языками отличаются и зависят от конкретной модели.

Но называть указатель — ссылкой абсурд.

Одно из основных свойств ссылки — её синтаксическая прозрачность. Если у вас написано a + 1, то по виду выражения вы не знаете, ссылка перед вами или нет.

Могут быть языки со ссылками, но без указателей. (Скриптота.)

Могут быть языки с указателями, но без ссылок. (Си)

Могут быть с обеими абстракциями. (Си++, Паскаль)

И наверное без обеих. (Тут сходу не назову полнофункциональный ЯП… Ну пусть будет shell.)

При этом ссылки могут фигурировать только как аргументы функций (кажется, в Паскале так – поправьте, если ошибаюсь) или свободно (C++, php). Быть неизменяемыми (C++) или иметь возможность перепривязки к другому объекту (php).