Форум: "Начинающим";
Текущий архив: 2009.11.29;
Скачать: [xml.tar.bz2];
ВнизРабота с указателями Найти похожие ветки
← →
novai (2009-10-09 11:14) [0]Почитал по указатели и работе с ними но не понял: для чего они нужны? для скорости? можно на примере показать?
← →
Игорь Шевченко © (2009-10-09 11:19) [1]там, где читал, примеров не было ?
← →
Kolan © (2009-10-09 11:20) [2]Указатели нужны, потому что без них никак. Например в Делфи все объекты — это указатели.
Спросите точнее, иначе сюда придется вставить текст какой-нибудь книги.
← →
novai (2009-10-09 11:20) [3]читал это:
http://transl-gunsmoker.blogspot.com/2009/09/blog-post.html#pointers
но для чего они?
← →
DVM © (2009-10-09 11:31) [4]
> но для чего они?
Для работы с памятью.
← →
Медвежонок Пятачок © (2009-10-09 11:33) [5]> но для чего они?
Чтобы указывать дорогу и чтобы никто не потерялся и чтобы ничто не потерялось
← →
Kolan © (2009-10-09 11:35) [6]По ссылке, имхо, нормально все рассказано. С учетом этого ответ такой: потому что так работает компьютер.
← →
Anatoly Podgoretsky © (2009-10-09 12:06) [7]> novai (09.10.2009 11:20:03) [3]
Ты это больше не читай, пока не будешь знать предмет, поскольку это здоровье может испортить.
Дело не в том, что перевод корявый (это уже как умеет), а в том, что информация не пригодная к жеванию, поскольку плохо пережевано. Вот когда будешь знать, что такое указатели и для чего они, то тогда читать можно.
← →
novai (2009-10-09 12:11) [8]так я и спросил -для чего они нужны?
← →
Медвежонок Пятачок © (2009-10-09 13:01) [9]так тебе и ответили зачем
← →
DrPass © (2009-10-09 13:02) [10]
> novai (09.10.09 12:11) [8]
> так я и спросил -для чего они нужны?
Для более гибкой работы с памятью компьютера. Обычная переменная предполагает какой-то известный тип данных, и место в памяти под нее резервируется сразу. В то же время через указатели можно работать с произвольными данными, его можно переставлять на разные участки памяти, память под такие данные (к которым обращаешься через указатель) можно выделять по мере необходимости и высвобождать, когда она уже не нужна и т.д.
← →
Юрий Зотов © (2009-10-09 15:06) [11]> novai (09.10.09 11:14)
Еще пример. Пусть есть большая структура данных:type
TMyData = record
Int: integer;
... // И еще много других полей.
еnd;
и есть большой массив таких структур:MyArray: array of TMyData;
Стоит задача: отсортировать этот массив по возрастанию поля Int. Понятно, что в процессе сортировки элементы массива будут перемещаться в памяти, а поскольку каждый элемент занимает большой кусок памяти, то сортировка займет много времени.
Теперь делаем немного иначе. Сначала объявляем тип указателя:
type
PMyData = ^TMyData;
а потом объявляем немного другой массив:MyArray: array of PMyData;
Теперь выполняем ту же самую сортировку, но перемещаться в памяти будут уже не сами данные, а указатели на них. И каждый указатель имеет размер всего 4 байта.
Как Вы думаете, такая сортировка сработает быстрее?
← →
Anatoly Podgoretsky © (2009-10-10 00:56) [12]> novai (09.10.2009 12:11:08) [8]
Если кратко, то указывать.
← →
Германн © (2009-10-10 03:55) [13]
> Anatoly Podgoretsky © (10.10.09 00:56) [12]
>
> > novai (09.10.2009 12:11:08) [8]
>
> Если кратко, то указывать.
Значит ЮЗ потратил зря свои несколько минут?.
← →
Anatoly Podgoretsky © (2009-10-10 10:03) [14]> Германн (10.10.2009 03:55:13) [13]
Я кратко, он полнее.
← →
KilkennyCat © (2009-10-10 10:28) [15]А меня тоже всегда смущало наличие разных выкрутасов с памятью. Иными словами: зачем нужны неуказатели?
← →
Стенка (2009-10-10 11:38) [16]> novai (09.10.09 11:14)
До некоторых пор можно работать без указателей.
Но есть вещи, которые без указателей или невозможны, или неэффективны.
← →
Virgo_Style © (2009-10-10 12:13) [17]Я на себе прочувствовал полезность указателей, когда в игре "жизнь" в конце каждого шага вместо копирования массива-результата в массив-исходник стал просто менять местами указатели на них %-)
← →
novai (2009-10-12 04:29) [18]Юрий Зотов © (09.10.09 15:06) [11]
спасибо, ситуация прояснилась...
← →
Германн © (2009-10-12 04:43) [19]
> Юрий Зотов © (09.10.09 15:06) [11]
> спасибо, ситуация прояснилась...
>
Действительно прояснилась ли?
Или только кажется?
Книжки, учебники нужно читать.
← →
novai (2009-10-12 04:59) [20]Действительно прояснилась ли?
да
Книжки, учебники нужно читать.
уже много...
← →
Германн © (2009-10-12 05:10) [21]
> Книжки, учебники нужно читать.
> уже много...
>
Устал что-ли? Так это только начало.
← →
qwer_qwer (2009-10-12 22:03) [22]Кстати, есть указатели, и есть ссылки.
Причём грань между ними очень тонкая. ;-)
Вижу в топике все употребляют только одно - указатель. А по контексту это ссылка.
Почему так?
← →
qwer_qwer (2009-10-12 22:04) [23]Это так... К размышлению. Раз уж всё знаете.
← →
MsGuns © (2009-10-12 22:28) [24]>KilkennyCat © (10.10.09 10:28) [15]
>зачем нужны неуказатели?
Они и не нужны, ибо их не существует в природе
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.11.29;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.005 c