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