C++:lamda表达式

Lambda 表达式的语法:

捕获列表(参数列表)可选限定符->返回类型{}

[] 捕获列表(Capture List):Lambda 默认是不能直接使用外部函数的局部变量的,必须通过捕获列表把它"抓"进来。

cpp 复制代码
[]:空捕获,不使用任何外部局部变量。

[a]:值捕获。把变量 a 复制一份传进来,在 Lambda 内部改动 a 不会影响外面。

[&a]:引用捕获。把变量 a 的引用传进来,内部改动会直接影响外面。

[=]:值捕获所有外部可见的局部变量。

[&]:引用捕获所有外部可见的局部变量。

() 参数列表(Parameter List):与普通函数的参数一样。不需要传参时可省略小括号 ()

-> 返回值类型(Trailing Return Type):绝大多数情况下不需要写,编译器会根据 { 函数体 } 里的 return 语句自动推导出来。

相关推荐
坚果派·白晓明1 小时前
[鸿蒙PC三方库移植适配] 使用 AtomCode + Skills 自动完成libhv鸿蒙化适配
c++·华为·ai编程·harmonyos·atomcode
2301_789015621 小时前
Linux基础开发工具一:软件包管理器、vim编辑器
linux·服务器·c语言·汇编·c++·编辑器·vim
玖玥拾1 小时前
C/C++ 基础笔记(十)
c语言·c++
Frank学习路上1 小时前
【C++】面试:指针与引用
c++·面试
YIN_尹1 小时前
【Linux系统编程】基础IO第一讲——系统文件IO
android·java·linux·c++
casual~1 小时前
【学习记录(2)】
c++·学习
苏宸啊10 小时前
IPC管道
linux·c++
BestOrNothing_201510 小时前
ROS2 话题通信实战:消息对象、Publisher 发布器与 Subscriber 订阅器保姆级教程
c++·ros2·subscriber·publisher·话题通信
艾iYYY12 小时前
string 类的模拟实现
android·服务器·c语言·c++·算法