在函数式编程模型中,函数是对象,与其他对象一样,可以作为参数传递给函数或存储在容器中。有许多支持函数式编程模型的 Boost 库。
Boost.Phoenix 是函数式编程最重要的 Boost 库。虽然 Boost.Bind 或 Boost.Lambda 等库为函数式编程提供了一些支持,但 Boost.Phoenix 包含这些库的功能并超越了它们。
在函数式编程中,函数是对象,可以像对象一样处理。使用 Boost.Phoenix,一个函数可以返回另一个函数作为结果。也可以将一个函数作为参数传递给另一个函数。因为函数是对象,所以可以区分实例化和执行。访问一个函数不等于执行它。
Boost.Phoenix 支持使用函数对象进行函数式编程:函数是基