这个相当于STL中内置的仿函数,可以使用调取STL容器内对象的内置函数;
mem_fn最为人所熟知的作用是,将一个成员函数作用在一个容器上,就像这样
std::for_each(v.begin(), v.end(), boost::mem_fn(&Shape::draw))
就可以让容器vector中的每一个元素都执行一遍draw方法。
第二个用法是,它可以帮助把一个函数指针模拟得像一个函数实体(function object)。
参考:
https://zhidao.baidu.com/link?url=I7BlI0pISgjdiNLxoyZiI4QGma3Hf80G0VgA7CHFrblZnwT5whovURPS9FXSKZ8JS47sp9zJt1ez3cJWQo_3duqxh-aWqTNS1jn89qzfuG_
http://blog.csdn.net/elloop/article/details/50375820
http://en.cppreference.com/w/cpp/utility/functional/mem_fn