13.6.2 求余仿函数和求反仿函数
2025年09月26日
13.6.2 求余仿函数和求反仿函数
1.求余仿函数(modulus<T>)
仿函数类modulus<T>是一种自适应二元仿函数。若f是仿函数的一个对象,并且x和y均属于型别T,则f(x,y)会返回x%y。求余仿函数类包含5个成员函数:
1)modulus::first_argument_type。该成员函数代表仿函数第一参数的型别T。
2)modulus::second_argument_type。该成员函数代表仿函数第二参数的型别T。
3)modulus::result_type。该成员函数代表执行结果的型别T。
4)modulus::operator()(const T& x,const T& y)const。该成员函数代表函数调用的操作符。其返回值为x%y。
5)modulus::modulus()。该成员函数代表此仿函数类的默认构造函数。
2.求反仿函数(negate<T>)
仿函数类negate<T>是自适应二元仿函数,是单参数的仿函数。若f是仿函数的对象,并且x属于型别T,则f(x)会返回(-x)。求反仿函数的基类是unary_function<T,T>。
该仿函数类包括4个成员函数:
1)negate::argument_type。该成员函数代表参数的型别T。
2)negate::result_type。该成员函数代表执行结果的型别T。
3)negate::operator()(const T& x)const。该成员函数代表函数调用时的操作符。其执行结果是(-x)。
4)negate::negate()。该成员函数代表该仿函数类的默认构造函数。
例13-17
例13-17的执行结果为: