Сегодня мы рассмотрим одну из главных фич языка D, ради которой он и создавался — это продвинутое программирование на этапе компиляции. Некоторые могут припомнить как на C++ высчитывается факториал или, что посложнее, реализацию игры «Жизнь» и испугаться. Не стоит, шаблоны в D на порядок проще и мощнее аналога из C++, но все равно они требуют особого подхода в размышлениях, поэтому для акклиматизации сложность материала будет нарастать постепенно.
Метка «template metaprogramming»
Compile-time функциональное программирование в D
2014-06-20 в 17:33, admin, рубрики: compile-time, dlang, hardcore, magic, template, template metaprogramming, ненормальное программирование, Программирование, метки: compile-time, dlang, hardcore, magic, template, template metaprogrammingПишем свой std::function (boost::function)
2012-11-20 в 14:55, admin, рубрики: boost, c++, template metaprogramming, Программирование, метки: boost, c++, template metaprogrammingКлассы std::function и boost::function являются высокоуровневыми обертками над функциями и функциональными объектами. Объекты таких классов позволяют хранить и вызывать функции и функторы с заданной сигнатурой, что бывает удобно, например, при создании callback вызовов (например, мы можем регистрировать несколько обработчиков, и это могут быть как обычные функции, так и объекты с определенным оператором =)
Если вам интересно, каким образом реализуется данный функционал, то прошу под кат
Читать полностью »