C++:lamda表达式

Lambda 表达式的语法:

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

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

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

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

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

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

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

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

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

相关推荐
欧特克_Glodon2 小时前
OpenCV计算机视觉开发入门与实践<二十七>:图像分割概述
c++·人工智能·opencv·计算机视觉
蒸蒸yyyyzwd2 小时前
cpp 选手秋招学习笔记 day21
c++·面试·八股
「QT(C++)开发工程师」14 小时前
C++ auto 用法详解
开发语言·c++
OPEN-F14 小时前
C++STL教程:容器适配器与实用工具
开发语言·c++
OPEN-F14 小时前
C++模板教程:变参模板、折叠表达式与SFINAE
java·开发语言·c++
有点。14 小时前
C++二叉搜索树进阶
开发语言·c++
HugoStudio_SWAN14 小时前
【擦除重绘】C++ 控制台动画:弹跳 Logo DVD 屏保效果
开发语言·c++·学习·程序人生
kyle~16 小时前
C++_STL---迭代器失效
开发语言·c++
wuminyu17 小时前
深入剖析 Panama Off-heap 的性能损耗与开销
java·linux·c语言·jvm·c++
rhythm-ring18 小时前
宏定义续行符 \ 的使用与踩坑
c语言·c++