在C++中,lambda表达式是一种匿名函数,可以在需要函数对象的地方使用。lambda表达式的基本语法如下:
[capture list] (parameters) -> return_type {
// lambda函数体
}
其中,capture list
是捕获列表,用于指定lambda函数所能访问的外部变量;parameters
是参数列表;return_type
是返回类型;lambda函数体
是实际的函数实现。
以下是一个简单的例子:
#include <iostream>
int main() {
int a = 5;
auto lambda = [a](int x) -> int {
return a + x;
};
std::cout << lambda(3) << std::endl; // 输出8
return 0;
}
在这个例子中,lambda表达式捕获了外部变量a
,并接受一个参数x
,返回a + x
的结果。lambda表达式可以像普通函数一样调用,并且可以存储在变量中,作为函数对象使用。