Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.05.22;
Скачать: [xml.tar.bz2];

Вниз

Ссылки(2)   Найти похожие ветки 

 
Женя   (2011-02-11 21:55) [0]

Удалено модератором
Примечание: Восстановление закрытой ветки


 
Женя   (2011-02-11 21:57) [1]

*
procedure parametr.Copy( Copy: sparametr);
begin
ShowMessage(Copy.y[0].Name);
end;


 
Женя   (2011-02-11 21:58) [2]

type sparametrs = ^parametrs


 
Token   (2011-02-11 22:06) [3]

А можно словами объяснить задачу?


 
Женя   (2011-02-11 22:15) [4]

есть  ссылка на переменную класса
нужно передать ее в функцию


 
Token   (2011-02-11 22:21) [5]

Переменная класса - уже есть укзатель на область памяти. А вот ссылка... Если тебе надо создать экземпляр класса внутри функции, то передавай как ссылку (через var), если с ним надо работать, то "крышечки" убери и передавай как есть.  Тебя этот ответ устроит? )))


 
И. Павел ©   (2011-02-11 22:24) [6]


> есть  ссылка на переменную класса
> нужно передать ее в функцию

Идентификатор объекта - это уже сама по себе ссылочная переменая. А у вас получается ссылка на ссылку. Тогда, наверное, нужно один раз ее разыменовать: func(a^).

Или в самой функции:

Copy(...
begin
 ShowMessage((Copy^).y[0].Name);  


 
Token   (2011-02-11 22:33) [7]

Для мя ссылки, указатели и разница между ними самая большая прблема )


 
Token   (2011-02-11 22:40) [8]

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


 
Игорь Шевченко ©   (2011-02-11 22:48) [9]


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


"Другое  открытие. Отчего зимою день короткий, а ночь длинная, а летом наоборот? День зимою оттого короткий, что подобно всем прочим предметам видимым  и невидимым от холода сжимается и оттого, что солнце  рано заходит, а ночь от возжения  светильников и фонарей расширяется, ибо согревается."

http://lib.ru/LITRA/CHEHOW/r_letter.txt


 
Token   (2011-02-11 22:54) [10]


> Игорь Шевченко ©   (11.02.11 22:48) [9]

Хорошо, где определение "ссылки" и "указателя"?


 
Женя   (2011-02-11 22:57) [11]

ShowMessage((Copy^).y[0].Name);  

- не помогло
я уже пробывал и просто переменную класса передовать)))
я уверен что просто гдето налажал
(Delphi 7 - сам разоименовавает ссылки на класс (дуже если это ссылка на ссылку на сулку класса (правда в С++ такого нету)))


 
Token   (2011-02-11 22:59) [12]

У Фаронова хорошо было "фактические" и "формальные" переменные.


 
Сергей М. ©   (2011-02-11 23:01) [13]


> Token   (11.02.11 22:40) [8]


Ссылка "записывается", а указатель "пихается".
Вот и вся разница. Других разниц не существует.


 
Token   (2011-02-11 23:11) [14]


> Сергей М. ©   (11.02.11 23:01) [13]

Это не определение, и тем более не объяснение. Ведь тут явно суть вопроса ссылка/указатель. Книжек прочитал, из них синтаксис понял, захотел сделать что-то свое. слов в книжках умных много, а что они значат непонятно.


 
Сергей М. ©   (2011-02-11 23:25) [15]


> Token   (11.02.11 23:11) [14]


> не определение, и тем более не объяснение


Ровно так же как и не объяснение тобой разницы между "записать" и "запихать".

Указатель - это "нечто" содержащее информацию о фактическом местонахождении чего-либо.

Ссылка - это точно такая же информация о фактическом местонахождении того же самого чего-либо.

Сослаться на что-либо - это тоже самое что и указать на это что-либо.


 
Token   (2011-02-11 23:33) [16]


> Сергей М. ©   (11.02.11 23:25) [15]


Ну ссылка может быть и на указатель )))
В этом, ИМХО главная проблема )


 
Сергей М. ©   (2011-02-11 23:37) [17]


> Token   (11.02.11 23:33) [16]


> ссылка может быть и на указатель


А по барабану на что она.
Указатель этот есть субъект где-то фактически находящийся - вот на это самое место и "ссылается" ссылка.


 
Token   (2011-02-11 23:37) [18]

А вот указателя на ссылку быть не может )


 
Token   (2011-02-11 23:43) [19]

Для меня ссылка - адрес; Указатель - адрес адреса.


 
Сергей М. ©   (2011-02-11 23:52) [20]

> указателя на ссылку быть не может

Может если ссылка представлена субъектом, имеющим конкретный адрес местонахождения


 
Сергей М. ©   (2011-02-11 23:59) [21]

> Указатель - адрес адреса

Вовсе не обязательно.

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


 
Игорь Шевченко ©   (2011-02-12 00:05) [22]

указатель и ссылка - это одно и то же, только разное количество букв в словах.


 
Token   (2011-02-12 00:15) [23]


> Сергей М. ©   (11.02.11 23:59) [21]

Вот для косвенной ссылки и придумали - слово "указатель".


 
KilkennyCat ©   (2011-02-12 00:19) [24]

раньше все это называлось косвенной адресацией.


 
Германн ©   (2011-02-12 00:30) [25]

Указатель это просто перевод термина Pointer.


 
KilkennyCat ©   (2011-02-12 01:10) [26]

а "ссылка" - чей перевод?


 
clickmaker ©   (2011-02-12 01:23) [27]

> "ссылка" - чей перевод?

декабриста в Сибирь?


 
Германн ©   (2011-02-12 01:43) [28]

Ну вот наконец полностью разобрались с вопросом!
Ссылка это форма наказания, а указатель - порода собак.


 
KilkennyCat ©   (2011-02-12 01:53) [29]

да, и как всегда, помогли автору. спасибо нам :)


 
Германн ©   (2011-02-12 03:21) [30]


> да, и как всегда, помогли автору

Ну автору я могу посоветовать забыть символы "^" и "@". И переписать код без этих символов. Вполне возможно "всё заработает".


 
Palladin ©   (2011-02-12 06:37) [31]

сломал моск


 
Anatoly Podgoretsky ©   (2011-02-12 09:34) [32]


> Сергей М. ©   (11.02.11 23:01) [13]

Cсылка ссылается, а указатель указывает.



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

Форум: "Начинающим";
Текущий архив: 2011.05.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.004 c
15-1297075464
istok
2011-02-07 13:44
2011.05.22
мониторинг принтеров...


15-1296656605
Shirson
2011-02-02 17:23
2011.05.22
Absolute Database


2-1297096029
Женя
2011-02-07 19:27
2011.05.22
Распознание символов


15-1297153035
И. Павел
2011-02-08 11:17
2011.05.22
Отправка писем на русском языке


15-1296342105
@!!ex
2011-01-30 02:01
2011.05.22
Delphi ломает hadl linkи





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский