c++函数对象之谓词

c++函数对象之谓词,第1张

概述概念: 返回bool类型的仿函数被称为谓词; 如果operator()接受一个参数,那么就叫一元谓词; 如果operator()接受两个参数,那么就叫二元谓词; 一、一元谓词 #include<

概念:

返回bool类型的仿函数被称为谓词;

如果operator()接受一个参数,那么就叫一元谓词;

如果operator()接受两个参数,那么就叫二元谓词;

一、一元谓词

#include<iostream>using namespace std;#include <vector>#include <algorithm>//仿函数 返回值类型是bool数据类型,称为谓词一元谓词class GreaterFive{public:    bool operator()(int val)    {        return val > 5;    }};voID test01(){    vector<int>v;    for (int i = 0; i < 10; i++)    {        v.push_back(i);    }    查找容器中 有没有大于5的数字    GreaterFive() 匿名函数对象    vector<int>::iterator it =  find_if(v.begin(),v.end(),GreaterFive());    if (it == v.end())    {        cout << "未找到" << endl;    }    else    {        cout << 找到了大于5的数字为: " << *it << endl;    }} main() {    test01();    system(pause");    return 0;}

二、二元谓词

#include<iostream>二元谓词 MyCompare{int va11, val2)    {        return va11 > val2;    }};v;    v.push_back(10);    v.push_back(40203050);    sort(v.begin(),v.end());    for (vector<int>::iterator it = v.begin(); it != v.end(); it++)    {        cout << *it << " ;    }    cout << endl;    使用函数对象  改变算法策略,变为排序规则为从大到小     sort(v.begin(),MyCompare());    cout << ----------------------- endl;     endl;};}
总结

以上是内存溢出为你收集整理的c++函数对象之谓词全部内容,希望文章能够帮你解决c++函数对象之谓词所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1159654.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存