Boost.Function 库包含一系列类模板,它们是函数对象包装器。这个概念类似于广义回调。它与函数指针共享一些特性,两者都定义了一个调用接口(例如,一个接受两个整数参数并返回浮点值的函数),通过该接口可以调用某些实现,并且调用的实现可能会在程序运行过程中发生变化。
通常,在任何可以使用函数指针来延迟调用或进行回调的地方,都可以使用 Boost.Function 来代替,从而使用户在目标实现方面具有更大的灵活性。目标可以是任何“兼容”的函数对象(或函数指针),这意味着 Boost.Function 指定的接口的参数可以转换为目标函数对象的参数。