Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.02;
Скачать: CL | DM;

Вниз

"Разыменование указателя"   Найти похожие ветки 

 
GEN++   (2008-01-29 10:53) [0]

Постоянно встечается в литературе по программированию вышеприведенное выражение и всегда меня это "цепляет".
По смыслу русского языка это означает отнятие у него имени.
Скажем изначально указатель=nil  а после операции он становится конкретным чисом - но это на уровне конкретного языка,
а реально был он числом - числом и остался.

Может быть можно для этой операции подобрать более русскоязычное название или выражение????


 
Игорь Шевченко ©   (2008-01-29 10:56) [1]

Уже привыкли к этому термину


 
isasa ©   (2008-01-29 10:56) [2]

Разрешение ссылки, не ?


 
clickmaker ©   (2008-01-29 11:02) [3]


> Разрешение ссылки

разрешаю ссылку в Сибирь )


 
GEN++   (2008-01-29 11:04) [4]

Варианты:
1. Разрешение ссылки
2. Установка указателя


 
umbra ©   (2008-01-29 11:07) [5]

а чем плохо разыменование? срываем покровы, и смотрим, чего там есть :)
а nil разыменовать не удастся :)


 
homm ©   (2008-01-29 11:10) [6]

> [4] GEN++   (29.01.08 11:04)
> Установка указателя

Куда установка?


 
GEN++   (2008-01-29 11:16) [7]

>Куда установка?
Варианты:
1. Разрешение ссылки (но не в Сибирь)
2. Установка указателя на (по аналогии с "Сохранить как ...")


 
homm ©   (2008-01-29 11:18) [8]

> [7] GEN++   (29.01.08 11:16)
> Установка указателя на

На что? Я серьезно не могу понять как эта фраза родиласть…


 
Asker   (2008-01-29 11:22) [9]

указатели умерли практически и терминология их уйдёт ко дну


 
guav ©   (2008-01-29 11:28) [10]

Англоязычный термин indirection тоже не хорошо сочетается с сутью операции.


 
Рамиль ©   (2008-01-29 11:30) [11]


> указатели умерли практически и терминология их уйдёт ко
> дну

При данной архитектуре ЭВМ указатели никуда не денутся.


 
Palladin ©   (2008-01-29 11:30) [12]


> [9] Asker   (29.01.08 11:22)

а я значит некрофил...


 
GEN++   (2008-01-29 11:32) [13]

>На что? Я серьезно не могу понять как эта фраза родиласть…
На конкретный физический адрес памяти.
Поскокольку, в конечном счетe, содержимое указателя должно быть помещено в регистр используемый как регистр косвенной адресации.


 
Семеныч   (2008-01-29 11:37) [14]

> Asker   (29.01.08 11:22) [9]

Указатели могут умереть только вместе с программированием, потому что без них программирование невозможно (компьютер - он слова распознавать пока еще не научился, ему адреса подавай). Не стоит думать, что весь мир пишет прикладнюсенькие программульки на детских язычишках типа Java, есть вещи и посерьезнее. Да и отсутствие указателей в Java или .Net всего лишь следствие того, что работу прикладника выполнили разработчики движка - и вот они-то без указателей уж точно не обошлись. Так что можно считать, что указатели есть даже и там (а иначе и быть не могло). Да и для прикладников они там тоже есть - только не для всех, а для тех, кто понимает, что никуда они на самом деле не умерли и умереть не могут.


 
clickmaker ©   (2008-01-29 11:42) [15]


> [9] Asker   (29.01.08 11:22)
> указатели умерли практически и терминология их уйдёт ко
> дну

размечтался.
Даже если в Шарпе пишешь SomeFunc(ref param1);
то передаешь ни что иное, как указатель


 
Семеныч   (2008-01-29 11:47) [16]

Елы-палы, до чего надоели безаппеляционные заявления дилетантов...


 
homm ©   (2008-01-29 11:54) [17]

> [16] Семеныч   (29.01.08 11:47)
> Елы-палы, до чего надоели безаппеляционные заявления дилетантов...

Трудно быть самым умным. По себе знаю.


 
Семеныч   (2008-01-29 12:03) [18]

> homm ©   (29.01.08 11:54) [17]

Не в кассу. Например, есть область A, в которой некто X на каком-то уровне соображает. При этом X знает, что до вершин ему далеко и самым умным себя отнюдь не считает. Но когда некто Y начинает говорить чушь, относящуюся к области А, то знаний X в области А хватает, чтобы понять, что Y - дилетант и что он говорит чушь. Так что не в кассу.


 
Правильный_Вася   (2008-01-29 12:05) [19]


> Разыменование указателя"

вскрытие указателя


 
Семеныч   (2008-01-29 12:10) [20]

> GEN++   (29.01.08 10:53)  

> Может быть можно для этой операции подобрать более русскоязычное
> название или выражение????

Можно, конечно - получение значения. Разыменование - это получение значения и есть.


 
Джо ©   (2008-01-29 12:10) [21]

Привыкли уже, че его менять-то?


 
Virgo_Style ©   (2008-01-29 12:31) [22]

Если бы я пытался объяснить, что происходит, тому, кто не понимает, я бы сказал "Переход по указателю". Некоторая потеря точности с приобретением понятности, imho.

Или, может быть, "перенаправление".


 
clickmaker ©   (2008-01-29 12:36) [23]


> Или, может быть, "перенаправление".

вот я бы точно не понял )


 
GEN++   (2008-01-29 12:39) [24]

[21]
>Привыкли уже, че его менять-то?

 Мне приходится это использовать в описании программ при разработке КД.
Честно скажу - рука не поднимается.


 
GEN++   (2008-01-29 12:45) [25]

>Если бы я пытался объяснить, что происходит, тому, кто не понимает, я бы сказал "Переход по указателю". Некоторая потеря точности с приобретением понятности, imho.

"Переход по указателю"
Переход - он и в Африке переход, но до перехода указатель
загружается конкретным адресом и только потом происходит переход.
Собственно и хотелось бы внятно и коротко обозвать эту загрузку.


 
Григорьев Антон ©   (2008-01-29 13:02) [26]


> GEN++   (29.01.08 12:45) [25]
> Собственно и хотелось бы внятно и коротко обозвать эту загрузку.

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


 
Virgo_Style ©   (2008-01-29 13:08) [27]

clickmaker ©   (29.01.08 12:36) [23]
вот я бы точно не понял )


А ты пойди какую-нибудь хитрую справку получать, и на примере сразу поймешь, что если тебе в справочной сказали, что нужен кабинет 5, то это был указатель на указатель на указатель на... ))


 
GEN++   (2008-01-29 13:23) [28]

>Григорьев Антон
>Меня терзают смутные сомнения, что автор темы полагает, будто >разыменованием указателя называется присваивание ему значения...

   Упомянутый Вами автор, не претендуя на истину в последней инстанции, знает, что в некоторых языках (например Pascal) одновременно
может сообщаться компилятору тип данных на который ссылается указатель.
Данная информация впоследствии используется для выполнения операций
икремента/декремента над данным указателем.


 
Anatoly Podgoretsky ©   (2008-01-29 13:47) [29]

> GEN++  (29.01.2008 10:53:00)  [0]

Гюльчитай покажи личико.


 
Григорьев Антон ©   (2008-01-29 13:48) [30]


> GEN++   (29.01.08 13:23) [28]

Просто ваша фраза Скажем изначально указатель=nil  а после операции он становится конкретным чисом вместе с той, которую я процитировал в [26], наводит на мысль, что операцию типа ptr:=чему-то там вы и называете операцией разыменования. Между тем, операцией разыменования называется такая операция, в результате которой мы из указателя получаем то, на что он ссылается. В Delphi операция разыменования выполняется с помощью оператора ^ после указателя. При чём тут инкремент и декремент, я понять не могу.


 
homm ©   (2008-01-29 13:52) [31]

> [28] GEN++   (29.01.08 13:23)
> Данная информация впоследствии используется для выполнения
> операций
> икремента/декремента над данным указателем.

и это по твоему и есть разыменовывание?


 
Asker   (2008-01-29 14:47) [32]

блин,  и козе понятно, что ВНУТРИ они всегда будут

речь о том что их поглотила бОльшая абстракция и они канули в лета


 
Игорь Шевченко ©   (2008-01-29 14:48) [33]

Слухи о смерти указателей сильно преувеличены


 
homm ©   (2008-01-29 14:48) [34]

> [32] Asker   (29.01.08 14:47)

А «нутри» высший разум поставляет, ага?


 
Asker   (2008-01-29 14:50) [35]

homm ©   (29.01.08 14:48) [34]
речь идёт о большинстве, понятно что разработчики системных библиотек и каких-то иных вещей могут использовать их из того же шарпа на ура, но для большинства они умерли


 
palva ©   (2008-01-29 14:51) [36]


> Игорь Шевченко ©   (29.01.08 14:48) [33]
> Слухи о смерти указателей сильно преувеличены

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


 
homm ©   (2008-01-29 14:58) [37]

> [35] Asker   (29.01.08 14:50)
> но для большинства они умерли

Для «большенства» они останутся. Появились за долго до нашего рождения, их стали ставить на края дорог, что бы не заблудится. Для «программиста» они появились несколько позже, но тем не менее останутся еще на долго. А если под «большенством» ты понимаешь не обувателей, а батонокидателей, то таки да, они умрут. Мне лично не понятно, как можно не понимать что такое указатель. В СиДиез для рабты с битмапами приходится проходить через огонь и медные трубы. Сначала получаем кусок в виде последовательности байт через копирование, а потом через копирование с помошью «низкоуровневой функции» преобразуем его к масиву другово типа. Это фонтан какой-то. Причем именно так написано в примерах MSDN. Какие то костыли для обычного приведения типов, ужас.


 
Asker   (2008-01-29 15:00) [38]

homm ©   (29.01.08 14:58) [37]
ты думаешь кто их не исползует тот батонокидатель?
мда


 
Palladin ©   (2008-01-29 15:03) [39]


> [38] Asker   (29.01.08 15:00)

на кой хрен мне писать класс для структуры
c:Integer;
n:Integer;
что бы в TList поместить?

а слухи о всемирная революция и уходу на .NET сильно преувеличены


 
han_malign ©   (2008-01-29 15:05) [40]

со школы пользуюсь термином "разадресация"...


 
han_malign ©   (2008-01-29 15:14) [41]

кстати, в контексте URI-ссылки - термин "разыменование" - звучит вполне адекватно...


 
KSergey ©   (2008-01-29 15:18) [42]

> Григорьев Антон ©   (29.01.08 13:02) [26]
> Меня терзают смутные сомнения

Меня вот тоже с самого начала ветки терзают сомнения в том, что я и автор одинаково понимаем значение термина "разыменование указателя"...


 
KSergey ©   (2008-01-29 15:21) [43]

> Asker   (29.01.08 14:47) [32]
> речь о том что их поглотила бОльшая абстракция и они канули в лета

Рихтер в своей книжке про .НЕТ, на сколько помню, совершенно не стесняется термина "указатель". К чему бы это? Может рано хороним?


 
KSergey ©   (2008-01-29 15:24) [44]

> han_malign ©   (29.01.08 15:05) [40]
> со школы пользуюсь термином "разадресация"...

К стати да, хороший термин.
Более отражает суть, на мой взгляд.


 
Rouse_ ©   (2008-01-29 15:25) [45]


> GEN++   (29.01.08 12:39) [24]
>  Мне приходится это использовать в описании программ при
> разработке КД.

Стесняюсь спросить - а описание для кого? Для программиста или для пользователя? Если для пользователя, то он не поймет - как бы ты там не переименовывал, если для программиста - то он точно не поймет что сия мулька оказывается не что иное как разименование... Собственно теперь вопрос, а нафига?


 
GEN++ ©   (2008-01-29 15:53) [46]

>Anatoly Podgoretsky
Анатолий Николаевич!
Я повторил свою анкету. Видимо была утерена на форуме
(давно здесь не выступал)

>Rouse_
>Стесняюсь спросить - а описание для кого?
Как минимум - для нормоконтролера (они ведь читают от "корки до корки")
ну и далее по ГОСТ.

>KSergey
>Меня вот тоже с самого начала ветки терзают сомнения в том, что я и >автор одинаково понимаем значение термина "разыменование указателя"...

Так здесь и место чтобы поставить "точки над i"
Приведите свое видение этого термина.
Я лично не претендую на "истину в последней инстанции"

Варианты:
1. Разрешение ссылки (но не в Сибирь)
2. Установка указателя на (по аналогии с "Сохранить как ...")
3. Разадресация


 
homm ©   (2008-01-29 15:56) [47]

> [46] GEN++ ©   (29.01.08 15:53)
> Приведите свое видение этого термина.

Ну счас :) Мы то его верно понимаем, давай, колись :)


 
DiamondShark ©   (2008-01-29 16:04) [48]

А давайте морскую свинку переименуем, а то как-то нехорошо получается: и от моря далеко живёт, и не хрюкает.

Есть технический термин с устоявшимся значением.


 
Rouse_ ©   (2008-01-29 16:22) [49]


> нормоконтролера (они ведь читают от "корки до корки")
> ну и далее по ГОСТ.

А нормоконтроллер в курсе что указатели существуют? :)
Кстати о ГОСТ-е там и посмотри как обзывается данный термин :) Если такого понятия там нет - значит уже не по ГОСТ-у будет :)


 
isasa ©   (2008-01-29 16:25) [50]

han_malign ©   (29.01.08 15:05) [40]

со школы пользуюсь термином "разадресация"...


:)
Отстал от жизни.
В институте используют термин "дваадресация"


 
Style ©   (2008-01-29 16:28) [51]


> "Разыменование указателя"



> более русскоязычное название или выражение????


куда уж русскоязычнее?


 
isasa ©   (2008-01-29 16:29) [52]

ГЫ. А если речь идет о косвенной адресации(в ячейке ссылка на указатель), то будет "раз-разадресация"


 
GEN++ ©   (2008-01-29 16:47) [53]

>homm
По Вашей настойчивой просьбе:

 Form1: TForm1;
  M:array [0..9] of byte;
implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
pM,pX:^byte;
X:byte;
i:word;
begin
    for i:=0 to 9 do M[i]:=i+5;
   pM:=@M[0];  //операция "разименования"
   pX^:=M[0];   //операция "разименования"
 ......
if not (pM=nil) then   Edit1.Text:=intToStr(pM^);
if not (pX=nil) then      Edit2.Text:=intToStr(pX^);
end;
____________________________
unsigned char M[10];
void main(void)
{
unsigned char *pM, *pX,i;
pM:=@M[0];  //операция "разименования"
pX:=@M;      //операция "разименования"
for (i=0;i<10;i++)
{
   *pM++=0;
   *pX++=i+5;
 ........
}
}



>Rouse_
>А нормоконтроллер в курсе что указатели существуют?
В курсе.
>Кстати о ГОСТ-е там и посмотри как обзывается данный термин
Я упоминал в Subj: "встечается в литературе по программированию ".
Если ГОСТ отнести к литературе по программированию, то там я его
не встречал, по крайней мере пока.


 
Rouse_ ©   (2008-01-29 16:53) [54]


>    pM:=@M[0];  //операция "разименования"
>    pX^:=M[0];   //операция "разименования"

Мдя... И не падает? :)
А операция присвоения тогда как будет выглядеть, если это разименование?


 
Григорьев Антон ©   (2008-01-29 16:57) [55]


> GEN++ ©   (29.01.08 16:47) [53]

Из четырёх строчек, помеченных комментарием "операция разыменования", эта операция встречается только в одной. В той, которая должна дать access violation, потому что разыменовывается переменная pX, которой никто не присвоил значения. В исходнике на C тоже ошибка - в C нет операции @, там для получения адреса используется оператор &. А if not (pM=nil) - это тоже песня. Почему бы не написать if pm<>nil ?


 
KSergey ©   (2008-01-29 18:01) [56]

> GEN++ ©   (29.01.08 16:47) [53]
> >homm
> По Вашей настойчивой просьбе:

Это не ответ.
Хотелось бы русскими словами (не в комментариях), чтобы видеть что понимается под сим действом вами.

А между тем, Григорьев Антон в [30] уже ведь написал все. Читали?


 
KSergey ©   (2008-01-29 18:05) [57]

и еще.
Автору будет весьма полезно точно разобраться что именно и буквально означают строчки из приведенного им же листинга на Си:

  *pM++=0;
  *pX++=i+5;


 
bobby   (2008-01-29 21:46) [58]

Рискну предположить, в чем проблема.
В том, что не укрепилось в русскопрограммерском наречии слово иноземное обозначающее это самое разименование.Как правило, позаимствованные термины, вызывают более четкие ассоциации у компьютерщиков, особенно
необремененных дошкольным изучением языков))
Пришлые термины легче приживаются и реже провоцируют на споры. Юнит, компилятор, транслятор.
Были языки с русским синтаксисом. Я бы не хотел. Англоязычных, наверное отвлекают операторы и идентиф. вбивая во время работы совершенно неуместные ассоциации.
Вам так не кажется?
Мыслите в сторону замены на английском языке.
Что-нибудь типа depoint?


 
Zeqfreed ©   (2008-01-29 21:50) [59]

> bobby   (29.01.08 21:46) [58]

Угу. Депоинт два раза.


 
D   (2008-01-29 22:06) [60]


> GEN++ ©   (29.01.08 16:47) [53]

После черты — это не C.



Страницы: 1 2 вся ветка

Текущий архив: 2008.03.02;
Скачать: CL | DM;

Наверх




Память: 0.63 MB
Время: 0.055 c
15-1201628450
Kerk
2008-01-29 20:40
2008.03.02
Посоветуйте прогу для монтажа видео


15-1198761848
Thrasher
2007-12-27 16:24
2008.03.02
Компонент для чтения CHM


15-1201494496
Slider007
2008-01-28 07:28
2008.03.02
С днем рождения ! 28 января 2008 пондельник


2-1202118155
mephisto
2008-02-04 12:42
2008.03.02
Прочитать ячейку в памяти


15-1201602823
БарЛог
2008-01-29 13:33
2008.03.02
Проблема с железом