C++的Lambda表達(dá)式怎么使用

小億
86
2024-04-22 14:20:44

在C++中,Lambda表達(dá)式是一種匿名函數(shù),可以在需要的地方定義和使用。Lambda表達(dá)式的語(yǔ)法如下:

[capture clause](parameters) -> return_type {  
    // Lambda function body  
}

其中,capture clause是捕獲列表,用于捕獲外部變量;parameters是參數(shù)列表;return_type是返回類型;{}內(nèi)是Lambda函數(shù)體。

下面是一個(gè)簡(jiǎn)單的Lambda表達(dá)式示例:

#include <iostream>

int main() {
    int a = 10;
    int b = 20;

    auto sum = [a, b]() {
        return a + b;
    };

    std::cout << "Sum of a and b is: " << sum() << std::endl;

    return 0;
}

在上面的示例中,Lambda表達(dá)式[a, b](){ return a + b; }捕獲了外部變量ab,并返回它們的和。Lambda表達(dá)式可以直接調(diào)用,也可以賦值給一個(gè)變量后再調(diào)用。Lambda表達(dá)式的靈活性和方便性使得它在C++中得到廣泛應(yīng)用。

0