C++:lamda表达式

Lambda 表达式的语法:

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

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

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

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

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

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

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

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

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

相关推荐
郝学胜-神的一滴36 分钟前
Qt 高级编程 042:进度条从入门到自定义美化
开发语言·c++·qt·软件开发·用户界面
啦啦啦啦啦zzzz43 分钟前
5种IO模型
运维·服务器·网络·c++
呱呱巨基1 小时前
Docker 基础概念学习
linux·c++·学习·docker
郝学胜_神的一滴2 小时前
C++20 高级编程 001:从极简HelloWorld到现代类型体系全梳理
c++·后端
Lazionr2 小时前
list容器详解——双向链表的封装与使用
数据结构·c++·链表·list
Nil2082 小时前
C++ emplace_back 与 push_back 详解
开发语言·c++
漂流瓶jz3 小时前
UVA-12174 Shuffle的播放记录 题解答案代码 算法竞赛入门经典第二版
数据结构·c++·算法·图论·滑动窗口·算法竞赛入门经典·uva
Darkwanderor3 小时前
线程概念和Linux线程
linux·c语言·c++
lingran__3 小时前
C++ 高阶数据结构:红黑树万字详解|完整原理推导 + 插入实现 + 完整性校验【STL 底层】
数据结构·c++·面试·红黑树·二叉搜索树·平衡二叉树·stl底层
Darkwanderor3 小时前
C++11线程thread、互斥量mutex、条件变量condition_variable和atomic原子类型的使用
c++·线程库