在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; }
捕獲了外部變量a
和b
,并返回它們的和。Lambda表達(dá)式可以直接調(diào)用,也可以賦值給一個(gè)變量后再調(diào)用。Lambda表達(dá)式的靈活性和方便性使得它在C++中得到廣泛應(yīng)用。