在我的C ++代码中,我编写了两个函子,它们使用参数作为参数,一个返回和,另一个返回减,因此我可以将它们用作函数的参数。像这样:
template<class T>
class AddValues{
public:
T operator()(const T &value1, const T &value2) {
return value1 + value2;
}
};
template<class T>
class SubstractValues{
public:
T operator()(const T &value1, const T &value2) {
return value1 - value2;
}
};
但是现在我希望像6个函子那样编写,每个函子都带有两个参数并在第一个值为<,<=,>,>=,==,!=
的情况下返回true / false。
是否有比定义6个类更清晰的方法?我正在使用C ++ 11
注意:这篇文章是我对原始文章的评论的完善。