Мой голос переходит к tr1 :: function.
Функторы или функционоиды представляют собой основу, из которой развился tr1/boost::function
. Ограничение для функторов с общим интерфейсом состоит в том, что они нарушают OO-парадигму, поскольку они представляют разные типы и могут передаваться только шаблонным функциям (если вы не предоставите базовый класс, из которого они наследуются).
Действительно, с помощью техники стирания типа tr1::function
преодолевает этот предел: их лучше всего использовать для реализации динамических классов стратегии .