• 函数对象和谓词


    函数对象和谓词定义

    函数对象:

             重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象。一个类对象,表现出一个函数的特征,就是通过“对象名+(
    参数列表)”的方式使用一个类对象,如果没有上下文,完全可以把它看作一个函数对待。
             这是通过重载类的operator()来实现的。
             “在标准库中,函数对象被广泛地使用以获得弹性”,标准库中的很多算法都可以使用函数对象或者函数来作为自定的回调行为

             一元函数对象:函数参数1个; 
             二元函数对象:函数参数2个; 

    谓词:

             谓词是一个返回bool类型的值的函数,因为函数对象是一种类型的对象,实现operator()()成员函数并返回bool类型的值,所以函数对象也是谓词。

             谓词可以是一个仿函数,也可以是一个回调函数

             一元谓词 函数参数1个,函数返回值是bool类型
             二元谓词 函数参数2个,函数返回值是bool类型

    一元谓词函数举例如下

    1,判断给出的string对象的长度是否小于6
    bool GT6(const string &s)
    {
             return s.size() >= 6;
    }
    2,判断给出的int是否在3到8之间
    bool Compare( int i )
    {
             return ( i >= 3 && i <= 8 );
    }

    二元谓词举例如下

    1,比较两个string对象,返回一个bool值,指出第一个string是否比第二个短
    bool isShorter(const string &s1, const string &s2)
    {
             return s1.size() < s2.size();
    }

     https://www.cnblogs.com/lsgxeva/p/7792675.html

  • 相关阅读:
    C#泛型集合之——链表
    C#泛型集合之——列表
    C#泛型集合之——哈希集合
    gRPC asp.net core自定义策略认证
    asp.net core mvc中自定义ActionResult
    当职责链遇到DI
    开发一个带UI的库(asp.net core 3.0)
    两个集合对比
    对日编程的一些小知识点
    基于aws api gateway的asp.net core验证
  • 原文地址:https://www.cnblogs.com/ymj11/p/13837478.html
Copyright © 2020-2023  润新知