【问题标题】:What is the difference between Boost::bind and Boost Phoenix::bind?Boost::bind 和 Boost Phoenix::bind 有什么区别?
【发布时间】:2009-08-14 14:25:35
【问题描述】:

Boost::bind 和 Boost Phoenix::bind 有什么区别?

【问题讨论】:

    标签: c++ boost boost-phoenix


    【解决方案1】:

    phoenix::bind 就像lambda::bind 一个函数,它返回一个表达式模板,记录它必须调用给定函数。它们被设计为分别与 phoenix 和 lambda 一起工作。结果,它们包含更多的东西。就像,它们返回的类型重载了所有可能的运算符,以便以后可以记录和执行它们各自的操作。

    boost::bind“只是”一个活页夹。它将绑定函数,并返回一个函数调用运算符重载的类型,仅此而已。

    【讨论】:

    • 值得注意的是,在Phoenix 3.0(在 boost 1.47 中发布)中,phoenix::bindcompatibleboost::bind。请记住 litb 在这里的回应,这意味着您可以在以前使用 boost::bind 的地方使用 phoenix::bind,但我认为它不能反过来工作(您不能在 lambda 中使用 boost::bind并期望它像phoenix::bind一样工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    相关资源
    最近更新 更多