阅读量:0
在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; }
- Lambda表达式:
#include <iostream> int main() { auto lambda = []() { std::cout << "Lambda invoked" << std::endl; }; lambda(); return 0; }
这三种方法都可以实现函数的invoke操作,具体选择哪种方法取决于实际需求和使用场景。