Текущий архив: 2011.05.22;
Скачать: CL | DM;
Вниз
Ссылки(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;
Скачать: CL | DM;
Память: 0.53 MB
Время: 0.011 c