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

Вниз

Указатели в Delphi-программах   Найти похожие ветки 

 
Jambo   (2012-02-12 12:05) [0]

Кто-нибудь сможет мне объяснить, зачем нужны указатели в Delphi-программах? Точнее, приведите, пожалуйста, примеры, когда без указателей вообще не обойтись либо они в сто раз эффективнее любых других альтернатив.

P.S. Зачем в некоторых программах существуют указатели на указатели??


 
sniknik ©   (2012-02-12 12:30) [1]

> примеры, когда без указателей вообще не обойтись
class

> P.S. Зачем в некоторых программах существуют указатели на указатели??
чтобы иметь возможность менять значение указателя, а не содержимого.


 
Anatoly Podgoretsky ©   (2012-02-12 13:00) [2]

> Jambo  (12.02.2012 12:05:00)  [0]

Win API чистые указатели


 
Dimka Maslov ©   (2012-02-12 19:37) [3]

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


 
Омлет ©   (2012-02-12 21:25) [4]

> Зачем в некоторых программах существуют указатели на указатели??

Указатель - это такая же переменная, как и другие. Часто нужен еще один уровень ссылочности. Допустим, известно, что указатель A ссылается на какой-то блок данных. Если указатель B будет ссылаться на A, то можно в какой-то момент поменять содержимое указателя A. При этом B не пострадает - в нужный момент, перейдя по двум указателям, мы получим актуальные данные. Более того, иногда требуется третий уровень - указатель на указатель на указатель )
Еще в WinAPI местами используется (и вообще в сишных программах постоянно) для доступа к массивам и т.д.


 
Омлет ©   (2012-02-12 21:28) [5]


> Просто в современных интерпретируемых недоязыках недопрограммирования
> из-за патологической боязни "опасного кода" нет таких вещей,
>  чтобы указатели были в чистом виде.

Это в каких же? )


 
jack128_   (2012-02-12 22:09) [6]


> Это в каких же? )

да хоть JavaScript


 
Омлет ©   (2012-02-12 23:04) [7]


> да хоть JavaScript

Там повсюду ссылки на объекты, а в указателях на простые типы нет смысла. И я бы не осмелился JS назвать недоязыком.


 
DVM ©   (2012-02-12 23:40) [8]


> И я бы не осмелился JS назвать недоязыком

Я тут слышал на нем даже декодер H264 написали. Правда не вручную а с помощью какого то конвертора из C. Работает, но медлееенннооо. И код страшен.


 
DVM ©   (2012-02-12 23:45) [9]


> Я тут слышал на нем даже декодер H264 написали.

http://habrahabr.ru/blogs/javascript/131632/


 
jack128_   (2012-02-13 09:24) [10]


> Там повсюду ссылки на объекты

Ссылка - это НЕ указатель.


 
RWolf ©   (2012-02-13 09:57) [11]


> примеры, когда без указателей вообще не обойтись

списки, деревья.


 
Anatoly Podgoretsky ©   (2012-02-13 10:01) [12]

> RWolf  (13.02.2012 09:57:11)  [11]

Спокойно делаются без указателей.


 
RWolf ©   (2012-02-13 10:06) [13]


> Anatoly Podgoretsky ©   (13.02.12 10:01) [12]

как?


 
Anatoly Podgoretsky ©   (2012-02-13 10:19) [14]

> RWolf  (13.02.2012 10:06:13)  [13]

Например классовые переменные, записи. Все что не pointer


 
Inovet ©   (2012-02-13 10:27) [15]

> [13] RWolf ©   (13.02.12 10:06)
> как?

Массив и индексы.


 
RWolf ©   (2012-02-13 10:34) [16]


> [14]

классовые переменные — те же указатели, так неинтересно.

> [15]
> Массив и индексы.

и городить внутри этого массива собственные аллокатор и сборщик мусора?


 
Anatoly Podgoretsky ©   (2012-02-13 11:05) [17]

> RWolf  (13.02.2012 10:34:16)  [16]

Не надо передергивать, речь шла про тип Указатель в ЯВУ, а классовые
переменные это контролируемый тип данных


 
Омлет ©   (2012-02-13 11:55) [18]


> jack128_   (13.02.12 09:24) [10]
> Ссылка - это НЕ указатель.

Ссылка - это частный случай указателя.


 
Anatoly Podgoretsky ©   (2012-02-13 11:59) [19]

> Омлет  (13.02.2012 11:55:18)  [18]

Ни в коей мере, ссылка это типизированая переменная, а указатель нет


 
Sha ©   (2012-02-13 12:06) [20]

Jambo, если отвечать коротко, то затем, чтобы писать проще.
Так же как иногда 1 массив удобнее 100 переменных.


 
Inovet ©   (2012-02-13 14:24) [21]

> [16] RWolf ©   (13.02.12 10:34)
> и городить внутри этого массива собственные аллокатор и
> сборщик мусора?

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


 
Ega23 ©   (2012-02-13 15:21) [22]


> Кто-нибудь сможет мне объяснить, зачем нужны указатели в
> Delphi-программах? Точнее, приведите, пожалуйста, примеры,
>  когда без указателей вообще не обойтись либо они в сто
> раз эффективнее любых других альтернатив.


Либо для того, чтобы писать проще, как уже сказал Sha ©. правда это понимание простоты приходит далеко не сразу.
Либо для того, чтобы код выполнялся быстрее (оптимальнее, ресурсо-экономичнее, и т.д., критериев много).
Примеры - вон, весь Win32 API на указателях построен.


 
Pavia ©   (2012-02-18 12:54) [23]


> Либо для того, чтобы писать проще, как уже сказал Sha ©.
>  правда это понимание простоты приходит далеко не сразу.
> Либо для того, чтобы код выполнялся быстрее (оптимальнее,
>  ресурсо-экономичнее, и т.д., критериев много).Примеры -
>  вон, весь Win32 API на указателях построен.

А теперь возьмём NET. Который ставит крест на всех 3 пунктах.


 
RWolf ©   (2012-02-18 13:06) [24]


> А теперь возьмём NET. Который ставит крест на всех 3 пунктах.

на простоте, оптимальности и экономичности? :)


 
Ega23 ©   (2012-02-18 14:31) [25]


> на простоте, оптимальности и экономичности? :)


бггггггг  :)))



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

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

Наверх




Память: 0.53 MB
Время: 0.006 c
15-1405116396
Edgar_Wine
2014-07-12 02:06
2015.02.15
Вероятность что при бросании двух костей выпадет хоть одна 6


11-1258454605
Dy1
2009-11-17 13:43
2015.02.15
GroupBox


2-1389285810
SKIPtr
2014-01-09 20:43
2015.02.15
узнать об изминении значения RadioButton


2-1389268749
Никита Парфенов
2014-01-09 15:59
2015.02.15
Как лучше конектиться к Firebird?


2-1388863635
ghostdelvonte
2014-01-04 23:27
2015.02.15
Стрелки