在C++中,可以使用函數(shù)指針或者Lambda表達式來實現(xiàn)類似于C#中的delegate功能。
- 使用函數(shù)指針:
#include <iostream>
typedef void(*MyDelegate)(int);
void MyFunction(int value) {
std::cout << "Received value: " << value << std::endl;
}
int main() {
MyDelegate myDelegate = &MyFunction;
myDelegate(10);
return 0;
}
- 使用Lambda表達式:
#include <iostream>
int main() {
auto myDelegate = [](int value) {
std::cout << "Received value: " << value << std::endl;
};
myDelegate(10);
return 0;
}
這樣就可以在C++中實現(xiàn)類似于C#中delegate的功能。需要注意的是,C++的函數(shù)指針和Lambda表達式在語法和使用上有一些不同,需要根據(jù)具體的場景選擇合適的方法來實現(xiàn)delegate功能。