bind1st和bind2nd

Vij*_*jay 2 c++ stl

我对以下参考文献有一个看法:

bind1st

bind2nd

我不明白的是两者之间的区别.任何人都可以帮助我了解差异.一个例子会更有帮助.

Cat*_*lus 8

bind1st绑定第一个参数(例如,你有foo(int a, int b),然后bind1st(foo, 1)(bar)将等同于foo(1, bar)),bind2nd第二个参数.不要使用它们,它们几乎没用 - 使用通用boost::bind(或std::bind在C++ 0x中).

  • 如果你没有C++ 0x或者不想带来提升依赖性,那么它们就会非常方便. (6认同)
  • @ChristianRau:这就是为什么我说'几乎'不'完全'没用.虽然避免Boost只会适得其反. (2认同)