똑똑한 개발/C++
boost::bind
성댕쓰
2021. 5. 29. 17:34
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) 이다.