在C++中,可以使用函數指針或者函數對象來實現delegate,通過這兩種方式可以實現參數傳遞。
使用函數指針時,可以定義一個函數指針類型,然后將需要傳遞的參數作為函數指針的參數傳遞給delegate。例如:
#include <iostream>
typedef void(*Delegate)(int);
void function(int arg) {
std::cout << "Argument is: " << arg << std::endl;
}
int main() {
Delegate delegate = function;
delegate(123);
return 0;
}
使用函數對象時,可以定義一個帶有參數的函數對象類,并重載函數調用操作符(),然后將函數對象作為delegate的參數傳遞。例如:
#include <iostream>
class Delegate {
public:
void operator()(int arg) {
std::cout << "Argument is: " << arg << std::endl;
}
};
int main() {
Delegate delegate;
delegate(123);
return 0;
}
無論使用函數指針還是函數對象,都可以實現參數傳遞。根據具體的需求和使用場景,選擇合適的方法來實現delegate。