在C++中,Lambda表達式是一種匿名函數,可以在需要的地方定義和使用。Lambda表達式的語法如下:
[capture clause](parameters) -> return_type {
// Lambda function body
}
其中,capture clause
是捕獲列表,用于捕獲外部變量;parameters
是參數列表;return_type
是返回類型;{}
內是Lambda函數體。
下面是一個簡單的Lambda表達式示例:
#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表達式[a, b](){ return a + b; }
捕獲了外部變量a
和b
,并返回它們的和。Lambda表達式可以直接調用,也可以賦值給一個變量后再調用。Lambda表達式的靈活性和方便性使得它在C++中得到廣泛應用。