Lambda表达式
Lambda表达式是C++11引入的一种函数对象(函数式编程)的语法扩展。它可以用于创建匿名的、临时的函数对象,并可以在需要函数对象的地方直接使用,而无需单独定义一个函数或函数对象类。
Lambda表达式的基本语法如下:
[capture list](parameters) -> return_type {
// 函数体
}
其中,各部分的含义如下:
capture list
:捕获列表,用于指定外部变量的访问方式。可以省略,表示不捕获任何外部变量;也可以采用值捕获、引用捕获或混合捕获的方式捕获外部变量。parameters
:参数列表,与普通函数的参数列表相似。可以省略,表示无参数。-> return_type
:返回类型,表示Lambda表达式的返回类型。可以省略,根据函数体中的返回语句自动推导返回类型。