class DoubleComparer : public std::binary_function{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;};
还可以定义结构或者类,然后重载()运算符、< 、>运算符。