Почему разыменование указателя называется разыменованием?

Почему разыменование называется разыменованием?

Я просто правильно изучаю указатели, и я хотел бы знать, почему разыменование так называется. Меня это смутило, так как похоже, что вы удаляете ссылку, а не переходите по указателю к месту назначения.

Кто-нибудь может объяснить, почему это так называется?

Для меня что-то вроде пункта назначения или point_to_value имело бы больше смысла.


person Chris Barry    schedule 26.05.2010    source источник
comment
Назначение и указанное значение - существительные... вы спрашиваете о глаголе в заголовке. :-)   -  person Platinum Azure    schedule 26.05.2010
comment
Я согласен - мне тоже никогда не было никакого смысла, почему это так называется. Я бы предпочел, чтобы это называлось «следование» или что-то в этом роде.   -  person Robert Tuck    schedule 26.05.2010
comment
Я думаю, что вы ссылаетесь на правильное направление, которое я искал. Является ли слово «разыменование» чисто термином CS? Не используя это слово в своей жизни, кроме этого, я пытался предположить, что оно означает, и здесь я ошибся, я думаю! Это слово используется только для этой ситуации? Есть ли другие примеры использования этого термина?   -  person Chris Barry    schedule 26.05.2010
comment
Просто чтобы запутать ситуацию, ядро ​​Windows использует разыменование для уменьшения счетчика ссылок: msdn.microsoft.com/en-us/library/ff557724%28VS.85%29.aspx   -  person bk1e    schedule 27.05.2010
comment
@PlatinumAzure getting по-прежнему кажется мне более подходящим   -  person John D    schedule 20.12.2020


Ответы (3)


Указатель ссылается на объект. Следовательно, мы разыменовываем указатель (или получаем референт указателя), чтобы получить объект, на который указывает.

Префикс de-, скорее всего, происходит от латинского предлога, означающего от; Я полагаю, что вы могли бы думать о разыменовании как о значении "получить референт (или объект) из ссылки".

person James McNellis    schedule 26.05.2010
comment
Можете ли вы привести какой-либо другой пример использования этого слова за пределами CS? - person Chris Barry; 26.05.2010
comment
@оптик: Нет; Я думаю, это просто технический жаргон. - person James McNellis; 26.05.2010
comment
Отлично, этот раздел о латыни был именно тем, что я искал! Спасибо. - person Chris Barry; 26.05.2010
comment
Я знаю, что уже поздно для этого, но разграничить означает указать предел или границу, а не убрать пределы; другие примеры включают обозначение, разграничение, разграничение и т. д. - person foszter; 11.01.2020

Разыменование означает удаление ссылки и предоставление вам того, на что она на самом деле ссылалась.

Указатель на something на самом деле означает, что ваша переменная-указатель содержит адрес памяти something. Но вместо этого указатель также можно рассматривать как ссылку на something.

person Brian R. Bondy    schedule 26.05.2010
comment
Это чисто cs-термин, или вы можете придумать другую ситуацию, в которой вы бы использовали то же слово? - person Chris Barry; 26.05.2010
comment
Существуют тысячи терминов CS, которые не используются в реальном мире. - person Adam; 26.05.2010
comment
Звучит так, как будто это связано с обнулением указателя, а не с поиском чего-то в конце. Думаю, я так думал, потому что думал, что это звучит как слово, которое может существовать в реальном мире. - person Chris Barry; 26.05.2010

Викисловарь содержит только определения, относящиеся к программированию: http://en.wiktionary.org/wiki/dereference

Так что, похоже, это просто технический жаргон.

person Community    schedule 26.05.2010