В устоявшуюся терминологию программистов C++ входят понятие раннего связывания (на стадии компиляции) и понятие позднего, отложенного связывания (динамически, во время исполнения). Далее в статье будет предложено решение для не просто позднего, а по-настоящему запоздалого связывания данных. Представьте, что Вы можете выбирать обработчик для данных прямо во время выполнения программы и, более того, ассоциировать с данными несколько обработчиков. Представьте, что при этом работает полиморфизм. Представьте, что если Вам более не нужны выдаваемые объектом данные, Вы можете "отключиться" от объекта, как клиент от сервера.
Как такое реализовать?
Читать далее...

@темы: Нетривиальный вызов, Трюки с наследованием, Трюки с шаблонами, Философия

Комментарии
19.03.2008 в 19:21

Партизанский дуэт
Оченно напоминает мне реализацию эвентов в .NET))

20.03.2008 в 01:00

с дотнетом практики работы не имел. вожусь в основном с чистым С++ и парой библиотек.
а идея вышеизложенного навеяна системой сигналов-слотов в Qt. хотя в данной реализации это просто по-человечески оформленный механизм использования callback-функций, и ничего более того.
а статью надо бы дописать, да... а то нечитабельно и нифига непонятно.

Расширенная форма

Редактировать

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail