boost::bind

2019, Mar 19    

boost::bind 가 하는 일은?

  • 임의의 함수, 함수 포인터, 함수 객체, 멤버 함수를 함수 객체로 만들 수 있다.
  • 원하는 위치에 원하는 값을 전달 시킬 수 있는 함수 객체를 만든다.
#include <boost/bind.hpp>
class A
{
public:
    void Start();
};
std::vector<A> v;
///... (add to v) ...
std::for_each(v.begin(), v.end(), std::bind(&A::Start,_1));

인수 고정과 자리표

  • bind에 의해 생성된 함수자가 받을 인수
  • _1, _2 … _n

## 멤버함수와 bind

  • boost::mem_fn
  • boost::bind(&A::Start, _1) 은 사실 boost::bind(boost::mem_fn(&A::Start), _1) 이다.

참조 : https://crowmaniac.net/boostbind%EB%A5%BC-%EB%B0%B0%EC%9B%8C%EB%B4%85%EC%8B%9C%EB%8B%A4/