검색결과 리스트
글
/* 이 녀석이 하는 짓 */
어떠한 함수로 인자들의 값을 넘겨주는것 같음.
정확히 어디서 쓰이는건지 이해가 아직은 안되고 있음.
우선 사용법.
bind( 함수명, (상수 값 or 파라메터 인덱스)~ 쭉 ) ( 아규먼트 )
ex)
boost::bind( func, 1, _1, 2, _3, _2 ) ( 10, 11, 12 );
== func( 1, 10, 2, 12, 11 ); 와 같다.
// 단, func라는 함수는 다섯개의 인자를 받는 함수여야 함.
// 인자수가 적거나 많으면 컴파일 에러
// function 이나 signal과 연동해서 쓰는법.
int Func( int x, int y )
{
do something;
return 0;
}
// 함수의 원형과 같이 펑션과 시그널을 잡아줌. 리턴형 int, 파라메터 int 2개
boost::function< int( int, int ) > f01;
boost::signal< int( int, int ) > s01;
// 인자로 아규먼트를 받도록 구현
f01 = boost::bind( Func, _1, _2 );
boost::signals::connection c01 = s01.connect( boost::bind( Func, _1, _2 ) );
// boost::signals::connection c01 = s01.connect( f01 ); // 위에랑 동일
cout << f01( 10, 20 ) << " " << s01( 20, 30 ) << endl;
//---------------------------------------------------
// 멤버함수를 연결하는 법
struct X {
int F( int );
};
X x;
boost::bind( $X::F, _1, _2 ) ( x, 10 );
// Function을 써서 사용한 방법. 결과는 위와 동일.
boost::function< int( X*, int ) > f01;
f01 = boost::bind( $X::F, _1, _2 );
f01( &x, 10 );
어떠한 함수로 인자들의 값을 넘겨주는것 같음.
정확히 어디서 쓰이는건지 이해가 아직은 안되고 있음.
우선 사용법.
bind( 함수명, (상수 값 or 파라메터 인덱스)~ 쭉 ) ( 아규먼트 )
ex)
boost::bind( func, 1, _1, 2, _3, _2 ) ( 10, 11, 12 );
== func( 1, 10, 2, 12, 11 ); 와 같다.
// 단, func라는 함수는 다섯개의 인자를 받는 함수여야 함.
// 인자수가 적거나 많으면 컴파일 에러
// function 이나 signal과 연동해서 쓰는법.
int Func( int x, int y )
{
do something;
return 0;
}
// 함수의 원형과 같이 펑션과 시그널을 잡아줌. 리턴형 int, 파라메터 int 2개
boost::function< int( int, int ) > f01;
boost::signal< int( int, int ) > s01;
// 인자로 아규먼트를 받도록 구현
f01 = boost::bind( Func, _1, _2 );
boost::signals::connection c01 = s01.connect( boost::bind( Func, _1, _2 ) );
// boost::signals::connection c01 = s01.connect( f01 ); // 위에랑 동일
cout << f01( 10, 20 ) << " " << s01( 20, 30 ) << endl;
//---------------------------------------------------
// 멤버함수를 연결하는 법
struct X {
int F( int );
};
X x;
boost::bind( $X::F, _1, _2 ) ( x, 10 );
// Function을 써서 사용한 방법. 결과는 위와 동일.
boost::function< int( X*, int ) > f01;
f01 = boost::bind( $X::F, _1, _2 );
f01( &x, 10 );
'Programming > Boost' 카테고리의 다른 글
asio - TCP_server( async ) (0) | 2009.12.01 |
---|---|
asio -- 1 (0) | 2009.12.01 |
Signal 공부중인거 정리. < 04 > (0) | 2009.08.20 |
Signal 공부중인거 정리. < 03 > (0) | 2009.08.20 |
Signal 공부중인거 정리. < 02 > - 1 (0) | 2009.08.19 |
RECENT COMMENT