在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()
函數,最終得到了結果并輸出。