Lambda表达式

1、Lambda表达式官方解释

在 C++ 11 和更高版本中,Lambda 表达式(通常称为 Lambda)是一种在被调用的位置或作为参数传递给函数的位置定义匿名函数对象(闭包)的简便方法。 Lambda 通常用于封装传递给算法或异步函数的少量代码行。

2、Lambda表达式简介

官方示例解释表达式各个组成部分及含义,官方示例如下:

 1 #include <algorithm>
 2 #include <cmath>
 3 
 4 void abssort(float* x, unsigned n) {
 5     std::sort(x, x + n,
 6         // Lambda expression begins
 7         [](float a, float b) {
 8             return (std::abs(a) < std::abs(b));
 9         } // end of lambda expression
10     );
11 }

 下图展示了Lambda语法的组成部分:

①capture 子句(在 C++ 规范中也称为 Lambda 引导。)

②参数列表(可选)。 (也称为 Lambda 声明符)

③mutable 规范(可选)。

④exception-specification(可选)。

⑤trailing-return-type(可选)。

⑥Lambda 体。

posted @ 2025-03-31 16:51  左边的翼  阅读(17)  评论(0)    收藏  举报