lambda表达式:又叫匿名函数,是一种在调用位置或作为参数传递给函数时定义匿名函数对象的简便方法。通常用于实现一些不需要复用,很短小的函数

lambda表达式的语法形式简单归纳如下:

[capture](params) opt -> ret {body;};

captuer:捕获列表,用于指定Lambda表达式可以访问的外部变量

params:参数列表,为空的话可以省略,也可以和普通函数一样指定参数的类型和名称

opt:函数选项,

ret:返回值类型,

body:函数体

[](不捕获任何变量),[&](引用传递方式捕捉所有父作用域的变量包括this),

[=](用值转递的方式捕获所有父作用域的变量,只读不能修改),

[this](用于捕获当前的this指针,让lambda表达式拥有和当前类成员函数同样的访问权限),

opt不需要可以省略,ret通常也可以省略,编译器会根据return 自动推导返回值的类型

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐