在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++中得到广泛应用。