![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
ActorsBoost , ,
Актеры - это фанкторы. Актеры - главная движущая сила за рамками. Актер может принять аргументы от 0 до N (где N является предопределенным максимумом). В абстрактной точке зрения актер является метафорой функционального заявления. Актер вообще не имеет функционального тела, что означает, что он не знает, как выполнять какую-либо функцию.
Тем не менее, актер является классом шаблонов, и его единственный параметр шаблона заполняет недостающее тело функции и делает фактическую оценку функции. Класс актера происходит от его аргумента шаблона. Вот упрощенная декларация актерского класса:
Чтобы не быть перегруженным деталями, следующий краткий обзор того, что является актером. Во-первых, представьте себе актера как неленивую функцию, которая принимает аргументы 0..N:
Не зная, что делать с переданными аргументами, актер пересылает аргументы, полученные от клиента (каллера), на базовый класс BaseT. Именно базовый класс выполняет фактические операции, наконец возвращая результат. По сути, базовый класс актера является метафорой функционального тела. Последовательность событий, которые транспарируют, неформально описана следующим образом: 1) актера называют, передав в Н аргументы: клиент --> актер(a0, a1, ... aN) 2) актер передает аргументы своей базе: -> основание актера(a0, a1, ... aN) 3) основание актера делает некоторые вычисления и возвращает результат обратно актеру, и, наконец, актер возвращает это клиенту: основная операция актера --> результат возврата --> актер --> клиент
Более подробную информацию мы увидим позже, когда мы перейдем к более технической стороне рамок.
Copyright © 2001-2002 Joel de Guzman Статья Actors раздела может быть полезна для разработчиков на c++ и boost. Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: ::
|
|||||||||||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |