C++:lamda表达式

Lambda 表达式的语法:

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

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

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

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

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

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

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

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

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

相关推荐
sm_926787057 小时前
RFID 标签打印的技术实现要点与二次开发实践
java·大数据·前端·c++·编辑器
by209997 小时前
C++ 多态:同一个基类接口,调用不同的函数
开发语言·c++·经验分享·多态
colinu8 小时前
C++ 异步任务与线程生命周期:`std::async`、`future`、`thread`、`jthread` 与协作式退出
java·jvm·c++
wuminyu8 小时前
ForkJoinPool窃取线程在扫描其他WorkQueue时的随机采样算法与Phase线程挂起唤醒机制解析
java·linux·c语言·jvm·c++
longlongzihan8 小时前
链表找环:Floyd 判圈算法(LeetCode 141 & 142 )
c++·算法·leetcode·链表
liulilittle8 小时前
Linux 下 select 测试函数
linux·服务器·网络·数据库·c++·select·c
无忧.芙桃9 小时前
C++语言原理与实践(十二):list类的底层实现
c++·windows·list
沫璃染墨9 小时前
《Linux工程实践篇(二):线程池实战——从线程安全单例到完整源码实现》
linux·开发语言·c++·单例模式·设计模式·系统架构
有只小白叫岳飒10 小时前
c++智能指针 unique_ptr与函数调用
c++
Leo.yuan10 小时前
Kafka+Flink拼凑,还是FineDataLink 5.0一体化?实时数据处理的两种思路
c++·mfc