fd00ch |
---|
Указатель - это, по сути, ссылка. ... |
Ну вот поэтому я и привёл цитату из литературы ))) Что такое "указатель" - понятно! (хорошо объяснено)
Зачем нужны указатели?
fd00ch |
---|
Отсюда видны 2 наиболее частых использования указателей: 1. хранение ссылки на какую-то кучу данных, которую нет смысла/времени повторно копировать, но к которой нужно уметь обратиться для чтения/записи данных; |
Буфер обмена? Что-то скопировали в другой программе и теперь обращаемся к памяти?
fd00ch |
---|
2. создание связанных списков, когда от одного элемента можно перейти к другому и (иногда) - обратно |
Как-то абстрактно... Сумбурно представляю себе что-то вроде строкового массива, каждая строка которого ссылается на другой массив - что-то вроде "соединения таблиц" в БД. Это Вы имели ввиду?
_Vasilisk_ |
---|
Указатели позволяют работать с памятью выделенной в другом месте. |
Повторюсь - т.е. где-то скопировали в буфер обмена, а в своей программе это считываем?
_Vasilisk_ |
---|
И еще, с точки зрения программы следующие две процедуры работают идентично
procedure Test1(AVal: PInteger);
begin
AVal^ := AVal^ + 10;
end; |
Там, кажется, ещё заморочки с
type PInteger = ^Integer;
procedure Test1(AVal: PInteger);
Идентично, но сколько строк вокруг как снежный ком нарастает...
Dimitry Sibiryakov |
---|
Если ты этого не знаешь, значит указатели тебе не нужны. Они пережиток прошлого и в некоторых ЯП от них уже отказались. |
Вопрос возник в связи с перекомпиляцией программ в юникодовой delphi. Процедуры были как процедуры... А при переделке смотришь чужие примеры - уже используются указатели.Если без них - тогда только явное использование AnsiString и т.п., и согласие на возможные проблемы.
S.G. |
---|
Через указатели также реализуются структуры данных, немного более сложные, чем массивы: стеки, деревья, связанные списки. |
Вот это уже понятный пример! - То что я как раз написал в ответ на п.2 fd00ch-у.