标签:个数 自己的 大于 ati stl ica name second tor
函数对象,即”行为类似函数”的对象,重载function call运算子(operator ())。
STL仿函数根据操作数个数划分,可分为一元和二元仿函数,按功能划分可分为算数运算、关系运算、逻辑运算三大类。
使用内建仿函数需包含<functional>
头文件。
为了拥有配接能力,需要依照规定定义自己的5个相应型别。仿函数的相应型别主要用来表现函数参数型别和传回值型别。
为了方便期间,<stl_function.h>
定义了两个class,分别表示一元仿函数和二元仿函数(STL不支持三元仿函数),其中只有型别定义,没有成员函数和成员变量。任何仿函数只需要根据需求继承其中一个class即可拥有相应型别,也就自动拥有了配接能力。
unary_function
用来呈现一元仿函数的参数型别和返回值型别。
1 | template <class _, class _Result> |
binary_function
用来呈现二元函数的第一参数型别、第二参数型别、返回值型别。
1 | template <class _Arg1, class _Arg2, class _Result> |
binder1st配接器用于将某个二元仿函数转化为一元仿函数
1 | template <class _Operation> |
STL内建算数仿函数支持加、减、乘、除、求余、否定运算。除了否定运算其它均为二元运算。
plus<T>
minus<T>
multiplies<T>
divides<T>
modulus<T>
negate<T>
STL内建关系运算符仿函数支持等于、不等于、大于、大于等于、小于、小于等于六类。每一个都是二元源算。
equal_to<T>
not_equal_to<T>
greater<T>
greater_equal<T>
less<T>
less_equal<T>
STL内建的逻辑运算符仿函数支持And、Or、Not三种,And和Or为二元运算符,Not为一元运算符。
logical_and<T>
logical_or<T>
logical_not<T>
原文:大专栏 SGI STL functors(仿函数) 12
标签:个数 自己的 大于 ati stl ica name second tor
原文地址:https://www.cnblogs.com/sanxiandoupi/p/11631618.html