bool operator()关于C++的模版,请问

template<classT>structgreater:publicbinary_function<T,T,bool>{booloperator()(constT&x... template<class T>
struct greater : public binary_function<T, T, bool> {
bool operator()(const T& x, const T& y) const;
};
那个operator定义了什么运算符?
这个具体用起来像什么样子呢?
面向对象的谓词就是functor是什么意思?
展开
 我来答
百度网友60d7eecf4
推荐于2018-03-20 · TA获得超过198个赞
知道答主
回答量:170
采纳率:0%
帮助的人:0
展开全部
functor就是function like的类实现。那个operator声明了一个圆括号的重载。

用法:

int a[] = {0,1,2,3,4,5,6,7,8,9};

cout << *find_if(a, a + sizeof a/sizeof a[0], bind2nd(greater<int>(), 5));

在find_if函数里它会调用greater<int>()的圆括号重载,bind2nd的作用就是把5绑定为greater<int>()()的第二个参数,如:greater<int>()(x, 5),其中x是数组的每个元素。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式