温馨提示×

c++中operator()的作用是什么

c++
小亿
86
2024-05-31 16:29:13
栏目: 编程语言

在C++中,operator() 是一个函数调用运算符,也被称为函数调用操作符。当在一个类中重载 operator() 时,该类的对象就可以像函数一样被调用,即可以使用 obj() 的形式来调用这个类的对象。

通过重载 operator(),可以实现函数对象(也称为仿函数)的功能。函数对象是具有函数调用运算符的类的对象,可以像函数一样被调用。这样可以使得这类对象的行为更加灵活和可定制,通常用于实现各种算法、排序、查找等。

示例代码如下:

#include <iostream>

class MyFunctor {
public:
    int operator()(int x, int y) {
        return x + y;
    }
};

int main() {
    MyFunctor func;
    int result = func(3, 4); // 调用 operator() 函数
    std::cout << "Result: " << result << std::endl;
    
    return 0;
}

在上面的代码中,MyFunctor 类重载了 operator() 函数,在 main 函数中创建了一个该类的对象 func,然后通过 func(3, 4) 的形式调用了这个对象,从而执行了重载的 operator() 函数,最终得到了结果并输出。

0