标准库定义了一组表示算数运算符、关系运算符和逻辑运算符的类,每个类分别定义了一个执行命名操作的调用运算符。
目前想到的使用场景是把这些类定义作为回调函数使用,我们就不必自己去实现,这些函数很方便,比如vector排序,
vector<int> vec{3,5,7,8,9,43};
sort(vec.begin(), vec.end(), greater_equal<int>());
有下面这些:
plus<Type>
minus<Type>
multiplies<Type>
divides<Type>
modulus<Type>
negate<Type>
equal_to<Type>
not_equal_to<Type>
greater<Type>
greater_equal<Type>
less<Type>
less_equal<Type>
逻辑运算符:
logical_and<<#class _Tp#>>
logical_not<<#class _Tp#>>
logical_or<<#class _Tp#>>
例子如下
greater_equal<int> fun;
cout<<fun(3,1)<<endl; //结果是1