class DoubleComparer : public std::binary_function<double,double,bool>
{
public:
DoubleComparer( double arg_ = 1e-3 ) : epsilon(arg_) {}
bool operator()( const double &left, const double &right ) const
{
return (abs(left - right) > epsilon) && (left < right);
}
~DoubleComparer(){}
private:
double epsilon;
};
还可以定义结构或者类,然后重载()运算符、< 、>运算符。