当前位置: 首页 > article >正文

Lambda 表达式

Lambda 表达式详细介绍

Lambda 表达式是匿名函数的简写形式,允许在代码中直接定义函数而无需命名,常用于简化代码、实现回调或作为参数传递。它在现代编程语言(如 C++、Python、Java、C#)中广泛支持,尤其在函数式编程和异步操作中极为高效。


Lambda 的核心组成(以 C++ 为例)

Lambda 的基本语法如下:

[捕获列表] (参数列表) -> 返回类型 {
    函数体 }

每个部分的详细说明:

1. 捕获列表(Capture List)

定义 Lambda 如何访问外部作用域的变量。

  • []:不捕获任何外部变量。
  • [=]:以捕获所有外部变量(默认只读,需mutable修饰才能修改副本)。
  • [&]:以引用捕获所有外部变量(直接操作原变量)。
  • [var]:显式捕获特定变量(值捕获)。
  • [&var]:显式捕获特定变量的引用。
  • 混合捕获[=, &x](值捕获全部,但x为引用)。

示例

int x = 10, y = 20;
auto lambda = [x, &y]() {
    
    y = 30;  // 合法,y 是引用
    // x = 5; // 错误!值捕获的 x 是只读(除非使用 mutable)
};
2. 参数列表(Parameters)

与普通函数的参数列表一致,支持默认参数和类型推导(C++14+)。

auto add = [](int a, int b) {
    return a + b; };
3. 返回类型(Return Type)
  • 显式声明-> T 指定返回类型(例如 -> bool)。

http://www.kler.cn/a/518236.html

相关文章:

  • 笔记《Effective Java》01: 创建和销毁对象
  • 软件测试丨消息管道(Kafka)测试体系
  • 电路研究9.2.1——合宙Air780EP音频的AT控制指令
  • 【工程篇】01:GPU可用测试代码
  • python学opencv|读取图像(四十四)原理探究:bitwise_and()函数实现图像按位与运算
  • UGUI判断点击坐标是否在UI内部,以及子UI内部
  • 运行虚幻引擎UE设置Visual Studio
  • spark sql中对array数组类型操作函数列表
  • android studio搭建NDK环境,使用JNI (Java 调 C) 二 通过CMake
  • Couchbase UI: Server
  • 期权帮|如何利用股指期货进行对冲套利?
  • AI如何改变IT行业
  • 单片机基础模块学习——按键
  • vulnhub靶场【kioptrix-3】靶机
  • HTML<kbd>标签
  • C#AWS signatureV4对接Amazon接口
  • 2025年编程AI工具概览
  • 2025美赛Latex模板可直接运行!O奖自用版
  • 蓝桥杯3522 互质数的个数 | 数论
  • c语言(转义字符)