在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()
的用法是用于重載函數調用運算符,使得對象可以像函數一樣被調用。