Function 函数对象:

Function 函数对象:,function,object,functor,Function,Object,Functor,函数对象: 运算符()是其成员函数的类的实例 运算符-->是其成员函数的类的实例 是指向任何函数的指针 是类的成员函数 我的尝试: 函数对象或函子(这两个术语是同义词)就是可以像调用函数一样调用的任何对象。普通函数是函数对象,函数指针也是;更一般地说,定义运算符()的类的对象也是如此 函子(函数对象或泛函)是简单的put对象+() 在我看来,选项(3)是正确的,但我对选项(1)感到困惑,这是真的吗 你能解释一下吗 函数对象是将圆括号运算符定义为成员函数的类的实例。当函数对象用作函数时,每当调用

函数对象:

  • 运算符()是其成员函数的类的实例
  • 运算符-->是其成员函数的类的实例
  • 是指向任何函数的指针
  • 是类的成员函数

  • 我的尝试:

    函数对象或函子(这两个术语是同义词)就是可以像调用函数一样调用的任何对象。普通函数是函数对象,函数指针也是;更一般地说,定义运算符()的类的对象也是如此

    函子(函数对象或泛函)是简单的put对象+()

    在我看来,选项(3)是正确的,但我对选项(1)感到困惑,这是真的吗

    你能解释一下吗

    函数对象是将圆括号运算符定义为成员函数的类的实例。当函数对象用作函数时,每当调用函数时都会调用括号运算符。考虑下面的类定义:

    class biggerThanThree 
     {
       public:
       bool operator () (int val)
       { return val > 3; }
    };
    
    如果我们创建biggerThanThree类的实例,每次使用函数调用语法引用该对象时,都会调用括号运算符成员函数


    参考: