Program Language/C & C++

[C++] unary_function, binary_function

야곰야곰+책벌레 2022. 8. 12. 14:44
728x90
반응형

unary_function은 하나의 인수로 함수 객체를 작성하기 위한 기본 클래스다.

binary_function은 두 개의 인수로 함수 객체를 작성하기 위한 기본 클래스다.

operator() 정의하지 않기 때문에 파생 클래스가 이를 정의해야 한다.

class name_equal1 : public unary_function<string, bool>
{
	string name_;
public:
	name_equal1(const string name) : name_(name) {}
    bool operator()(const string& var) const
    {
    	return name_ == var;
    }
};

class name_equal2 : public binary_function<string, string, bool>
{
public:
    bool operator()(const string& var1, const string& var2) const
    {
    	return var1 == var2;
    }
};

 

unary_function, binary_function은 C++11에서 더 이상 사용되지 않으며 C++17에서 제거되었다.

728x90
반응형