溫馨提示×

c++ delegate能否綁定lambda

c++
小樊
83
2024-07-15 23:55:42
欄目: 編程語言

在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表達式中定義的操作。

0