新的bind库 (bi-bind), 对boost::bind的精简
boost中有一个bind库, 可以说是一个最为实用的tools了, 但是它与boost结合的有些紧密,而且其中的一些功能并不是很常用,就算将它bcp出独立的库也是一个不小的负担。如果在你的项目中不打算有boost库的痕迹但是又想使用bind的强大功能,那就来看看它吧。 一个一个超小型的bind库, 它实现了大部分boost::bind的功能, 只是将名字空间由boost 变换为 bi 。如果使用了一般的使用中通常可以将 boost::bind(my_fun(), _1,_2)(234, "hello world"); //形式替换为 bi::bind(my_fun(), _1, _2)(234, "hello world"); 既可完成编译,如果使用了名字空间,那就只需要将 using namespace boost 替换为 using namespafce bi 即可完成转化。 同boost::bind一样,它支持任意的函数对象,函数,函数指针,和成员函数指针,它还能将任何参数绑定为一个特定的值,或者将输入的参数发送到任意的位置。 从使用者方向看只是将bind 从boost名字空间移动到了 bi名字空间, 如果使用了 using namespace boost;的方式引入的boost::bind, 那么你很幸运!只要改成using namespace bi;就完成了。