글
std::bind 사용법
std::bind(함수 주소, 함수인자1, 함수인자2, 함수인자3, ...)
함수인자에 초기값을 설정한수 있고
bind로 생성한 함수의 인자로 받을 것이면
std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, ... 등을 새로운 함수 인자와 맵핑 시킬수있다.
void Func( int iA, float fB, bool bC ); |
라는 3개의 인자를 가지는 함수가있다면
auto funcA = std::bind( Func, 10, 2.0f, true ); funcA(); |
다음과 같이 단일 함수로 사용가능하고
그중 float 인자값을 새로운 함수의 인자로 받으려면
auto funcB = std::bind( Func, 10, std::placeholders::_1, true ); funcB( 2.0f ); |
처음인자는 float 두번쩨 인자는 int를 받고 싶으면
auto funcC = std::bind( Func, std::placeholders::_2, std::placeholders::_1, true ); funcC( 2.0f, 10 ); |
3번쩨 인자에 bool 값을 받고 싶으면
auto funcD = std::bind( Func, std::placeholders::_2, std::placeholders::_1, std::placeholders::_3 ); funcD( 2.0f, 10, true ); |
그리고 전역함수가 아닌 클래스 함수의 경우
&ClassA::FuncA 행태를 바인드의 첫번쩨 인자로 사용한다
'프로그래밍' 카테고리의 다른 글
pyhton os.path (0) | 2014.12.23 |
---|---|
vs 에서 AlwaysCreate 설정으로 항상빌드하는 현상 제거 (0) | 2014.11.05 |
___report_rangecheckfailure() 링크에러 (0) | 2014.09.17 |
Microsoft Visual Studio C++ 의 try catch 내부 처리방법 (0) | 2014.09.01 |
wm_quit vs wm_close vs wm_destroy 차이 (0) | 2014.02.07 |