在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操作,具体选择哪种方法取决于实际需求和使用场景。