溫馨提示×

c++中如何實現(xiàn)函數(shù)的invoke

c++
小樊
91
2024-08-16 10:47:37
欄目: 編程語言

在C++中,可以利用函數(shù)指針、函數(shù)對象或者lambda表達式來實現(xiàn)函數(shù)的invoke操作。以下是三種實現(xiàn)方法的示例:

  1. 函數(shù)指針:
#include <iostream>

void function() {
    std::cout << "Function invoked" << std::endl;
}

int main() {
    void (*funcPtr)() = function;
    funcPtr();
    
    return 0;
}
  1. 函數(shù)對象:
#include <iostream>

class FunctionObject {
public:
    void operator()() {
        std::cout << "Function object invoked" << std::endl;
    }
};

int main() {
    FunctionObject funcObj;
    funcObj();
    
    return 0;
}
  1. Lambda表達式:
#include <iostream>

int main() {
    auto lambda = []() {
        std::cout << "Lambda invoked" << std::endl;
    };
    
    lambda();
    
    return 0;
}

這三種方法都可以實現(xiàn)函數(shù)的invoke操作,具體選擇哪種方法取決于實際需求和使用場景。

0