16:32 

Трюк 0x0008 — Never too late

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

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

URL
Комментарии
2008-03-19 в 19:21 

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

2008-03-20 в 01:00 

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

URL
     

Записная книжка программиста C++

главная