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

Вниз

Делегаты и функторы.   Найти похожие ветки 

 
Прогер   (2012-08-04 23:03) [0]

Пожалуйста, объясните про них на примере Дельфи. (Если они там есть)
Или на пальцах.

В Википедии не понятно что-то. Спасибо.


 
turbouser ©   (2012-08-04 23:38) [1]

RTFM, luke


 
DVM ©   (2012-08-04 23:47) [2]

Оба этих термина имеют несколько разное значение в разных языках.

Конкретно в делфи делегатов как таковых нет (ключевое слово delegate есть в языке Oxygene - близком родственнике Delphi но под .net), но в делфи есть очень близкое по смыслу понятие - событие. На событиях в делфи построена вся VCL фактически. Все эти события и обработчики событий в основе своей используют фактически делегаты. Делегат - это объектно ориентированный указатель на функцию.


 
Прогер   (2012-08-05 00:59) [3]


> DVM ©   (04.08.12 23:47) [2] Делегат - это объектно ориентированный
> указатель на функцию.


Это что ли?



type
 TEvent = procedure of class;



 
DVM ©   (2012-08-05 10:07) [4]


> Прогер   (05.08.12 00:59) [3]


>
> Это что ли?
>
>
>
> type
>  TEvent = procedure of class;
>


Конкретно в Delphi:

TNotifyEvent = procedure(Sender: TObject) of object;


 
wl ©   (2012-08-05 11:03) [5]


> Прогер

если ты не знаешь, что это, и не понимаешь как это использовать - просто забей.
http://ru.wikipedia.org/wiki/KISS_(%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF)
ВСЕГДА следуй этому принципу


 
wl ©   (2012-08-05 11:09) [6]

забыл уточнить, что знать эти вещи всё-таки надо, на случай, если придется пользоваться библиотекой, использующей это


 
Прогер   (2012-08-05 14:40) [7]


> DVM ©   (05.08.12 10:07) [4]


А функторы что такое?


 
wl ©   (2012-08-05 16:07) [8]

http://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%82%D0%BE%D1%80_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)


 
ProgRAMmer Dimonych ©   (2012-08-06 09:07) [9]

> [8] wl ©   (05.08.12 16:07)
> http://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%82%D0%BE%D1%80_(
> %D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%
> D0%B0%D0%BD%D0%B8%D0%B5)



> [0] Прогер   (04.08.12 23:03)
> В Википедии не понятно что-то. Спасибо.


 
oldman ©   (2012-08-08 13:52) [10]


> ProgRAMmer Dimonych ©   (06.08.12 09:07) [9]
> > [0] Прогер   (04.08.12 23:03)
> > В Википедии не понятно что-то. Спасибо.


Функтор:
Функтор (программирование) — объект, который можно использовать как функцию;

ну о-о-о-очень непонятно ))))


 
Прогер   (2012-08-08 20:14) [11]


> oldman ©   (08.08.12 13:52) [10]
>
>
> > ProgRAMmer Dimonych ©   (06.08.12 09:07) [9]
> > > [0] Прогер   (04.08.12 23:03)
> > > В Википедии не понятно что-то. Спасибо.
>
>
> Функтор:
> Функтор (программирование) — объект, который можно использовать
> как функцию;
>
> ну о-о-о-очень непонятно ))))
>


Пример в студию.


 
Плохиш ©   (2012-08-08 20:21) [12]


> Пример в студию.

Чем примеры из вики не угодили?


 
ProgRAMmer Dimonych ©   (2012-08-08 20:21) [13]

> [11] Прогер   (08.08.12 20:14)

А вот пример есть в Вики.


 
oldman ©   (2012-08-09 08:50) [14]


> Прогер   (08.08.12 20:14) [11]
> Пример в студию.


if Label1.Visible then


 
Прогер   (2012-08-09 16:24) [15]


> oldman ©   (09.08.12 08:50) [14]
>
>
> > Прогер   (08.08.12 20:14) [11]
> > Пример в студию.
>
>
> if Label1.Visible then


Получается функторы это ничего особенного?



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

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

Наверх




Память: 0.5 MB
Время: 2.025 c
15-1351516785
Scott Storch
2012-10-29 17:19
2013.03.22
кодировки для не неюникодных программ


15-1340314077
ZV
2012-06-22 01:27
2013.03.22
Компонент Async32 не работает в С++


2-1340225376
Разведка
2012-06-21 00:49
2013.03.22
ищу функцию


15-1350464720
AV
2012-10-17 13:05
2013.03.22
Подскажите запрос


15-1347827405
Юрий
2012-09-17 00:30
2013.03.22
С днем рождения ! 17 сентября 2012 понедельник