는 다음의 두 가지 기능을한다고 가정C++ : 바인드 결합?
#include <iostream>
#include <cstdlib> // atoi
#include <cstring> // strcmp
#include <boost/bind.hpp>
bool match1(const char* a, const char* b) {
return (strcmp(a, b) == 0);
}
bool match2(int a, const char* b) {
return (atoi(b) == a);
}
각 기능은 두 인자를 있지만 (STD/부스트) bind
를 사용하여 하나의 인자를 호출 가능한 오브젝트로 변환 될 수있다. 나는 하나 개의 인자를 가지고 bool
의 bool
의 & &을 두 개의 인수를 받아 반환하는 호출 개체를 반환하는 이와 같은 두 가지 기능에서 얻을 할 수 있도록하려면
boost::bind(match1, "a test");
boost::bind(match2, 42);
:의 라인을 따라 뭔가 s. 인수의 유형은 임의적입니다.
bool
을 반환하는 함수의 경우는 operator&&
과 같습니다.
하나의 인수를 사용하고 bool을 반환하는 함수를 원하지 않으십니까? 즉 match1 ("a test", X) && match2 (42, X)'와 같은가? 또는 정말로 match1 ("test", X) && match2 (42, Y)'를 원합니까? –
두 개의 인수를 취하는 함수가 정말 필요합니다. –