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