在C++中,operator()
是函数调用运算符,也称为函数调用符号重载。当我们在类中重载operator()
函数时,我们可以使用对象实例来调用这个函数,就像调用普通函数一样。
例如,我们可以通过重载operator()
函数来创建一个函数对象:
class MyFunctionObject {
public:
int operator()(int a, int b) {
return a + b;
}
};
int main() {
MyFunctionObject adder;
int result = adder(5, 3); // 调用operator()函数
std::cout << result << std::endl; // 输出结果为8
return 0;
}
在上面的例子中,MyFunctionObject
类中重载了operator()
函数,我们可以通过创建MyFunctionObject
对象来调用这个函数。
operator()
函数也可以用于仿函数(function object)和Lambda表达式。它可以方便地在不同的上下文中使用,比如在STL中的算法函数中使用。
总的来说,operator()
的用法是用于重载函数调用运算符,使得对象可以像函数一样被调用。