在C++中,可以利用函數指針、函數對象或者lambda表達式來實現函數的invoke操作。以下是三種實現方法的示例:
#include <iostream>
void function() {
std::cout << "Function invoked" << std::endl;
}
int main() {
void (*funcPtr)() = function;
funcPtr();
return 0;
}
#include <iostream>
class FunctionObject {
public:
void operator()() {
std::cout << "Function object invoked" << std::endl;
}
};
int main() {
FunctionObject funcObj;
funcObj();
return 0;
}
#include <iostream>
int main() {
auto lambda = []() {
std::cout << "Lambda invoked" << std::endl;
};
lambda();
return 0;
}
這三種方法都可以實現函數的invoke操作,具體選擇哪種方法取決于實際需求和使用場景。