在C++11及以上的標準中,可以使用lambda表達式作為委托(delegate)的綁定。實現(xiàn)方法是將lambda表達式作為函數(shù)對象傳遞給委托的構(gòu)造函數(shù)或賦值操作符。以下是一個示例:
#include <iostream>
#include <functional>
int main() {
std::function<void()> delegate;
// 綁定lambda表達式
delegate = []() {
std::cout << "Hello, lambda!" << std::endl;
};
// 調(diào)用委托
delegate();
return 0;
}
在這個示例中,我們創(chuàng)建了一個std::function
類型的委托,并使用lambda表達式[]() { std::cout << "Hello, lambda!" << std::endl; }
進行綁定。調(diào)用委托時,會執(zhí)行l(wèi)ambda表達式中定義的操作。