linux开发

仿函数operator--泛型编程

仿函数operator--泛型编程的封面

仿函数

用法

class A {

public:
    virtual ~A() {}
    virtual void operator()() {
        std::cout << "A" << std::endl;
    }
}


struct B {
    void operator()() {
        std::cout << "B" << std::endl;
    }
}
struct C {
    bool operator==(int a, int b) const  {
        return a == b;
    }
}
struct D {
    int operator()(int a, int b) const {
        return a + b;
    }
struct E {
    int operator=(int a, int b) const {
        return a + b;
    }


int main() {
    A a;
    B b;
    a();
    b();
}

仿函数(Function Object)是一种对象,它重载了()运算符,使得对象可以像函数一样被调用。仿函数通常用于实现算法和数据结构,以及作为回调函数传递给其他函数。