c++ bind用法 - C ++ 11 std :: bind和boost :: bind之间的区别




2 Answers

  • boost::bind 有重载的关系运算符std::bind没有。

  • boost::bind 支持非默认调用约定 ,不保证std::bind (标准库实现可能将此作为扩展提供)。

  • boost::bind提供了一种直接机制,允许一个人阻止对嵌套绑定表达式( boost::protect )的急切评估,而std::bind则没有。 (也就是说,如果他们想要的话,可以使用boost::protectstd::bind ,或者自己重新实现它。)

  • std::bind提供了一种直接机制,允许将任何用户定义的std::is_bind_expression函数视为嵌套的绑定表达式,以强制进行急切评估( std::is_bind_expression :[func.bind.isbind] / 1,[func.bind.bind] ] / 10), boost::bind没有。

std::bind成员函数 boost::bind

这两者有什么区别吗? 或者我可以安全地在我的代码中用std::bind替换每次出现的boost::bind ,从而消除对Boost的依赖吗?







Related

c++ c++11 boost boost-bind stdbind