C++中对C的扩展学习新增语法——lambda 表达式(匿名函数)

时间:2023-12-20 21:13:26

1、匿名函数基础语法、调用、保存

C++中对C的扩展学习新增语法——lambda 表达式(匿名函数)

1、auto lambda类型

C++中对C的扩展学习新增语法——lambda 表达式(匿名函数)

2、函数指针来保存注意点:[]只能为空,不能写东西

C++中对C的扩展学习新增语法——lambda 表达式(匿名函数)

3、std::function来保存

C++中对C的扩展学习新增语法——lambda 表达式(匿名函数)

2、匿名函数捕捉外部变量(值方式、引用方式)

1、[]表示捕获外部变量,如果在匿名函数内部想要使用外部定义的变量,必须要捕获,捕获有两种方式,一中是引用捕获,一种是值捕获

2、引用捕获:& 表示以引用的方式捕获所有外部变量 [&a, &b] 表示捕获指定变量

C++中对C的扩展学习新增语法——lambda 表达式(匿名函数)

3、值的方式捕获:默认以值方式捕获的变量具有connst性,[=]号按值的方式捕获所有外部变量,[a,b]表示按值的方式捕获指定变量

C++中对C的扩展学习新增语法——lambda 表达式(匿名函数)

4、有两个参数、有返回值的匿名函数

C++中对C的扩展学习新增语法——lambda 表达式(匿名函数)