C++ Boost::bind和Boost Phoenix::bind之间的区别是什么?

C++ Boost::bind和Boost Phoenix::bind之间的区别是什么?,c++,boost,boost-phoenix,C++,Boost,Boost Phoenix,Boost::bind和Boost Phoenix::bind之间有什么区别?Phoenix::bind类似于lambda::bind一个函数,它返回一个表达式模板,记录它必须调用给定函数的情况。它们分别被设计为与菲尼克斯和兰姆达合作。结果,它们包含了更多的东西。与此类似,它们返回的类型重载所有可能的运算符,以便以后可以记录和执行它们各自的操作 boost::bind只是一个活页夹。它将绑定函数,并返回一个重载了函数调用运算符的类型,而不是更多 值得注意的是,在(boost 1.47中发布的)中

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

Phoenix::bind
类似于
lambda::bind
一个函数,它返回一个表达式模板,记录它必须调用给定函数的情况。它们分别被设计为与菲尼克斯和兰姆达合作。结果,它们包含了更多的东西。与此类似,它们返回的类型重载所有可能的运算符,以便以后可以记录和执行它们各自的操作

boost::bind
只是一个活页夹。它将绑定函数,并返回一个重载了函数调用运算符的类型,而不是更多

值得注意的是,在(boost 1.47中发布的)中,
phoenix::bind
boost::bind
一起使用。记住litb在这里的回答,这意味着您可以在以前使用的地方使用
boost::bind
,但我认为它不会反过来工作(您不能在lambda中使用
boost::bind
,并期望它像
phoenix::bind
一样工作)。