C++笔记之Lambda表达式

本文介绍了C++中lambda表达式的概念、基本语法,包括捕获子句、参数列表和返回类型,以及一个实际应用示例,展示了lambda表达式在短小、一次性函数场景中的便利性。
摘要由CSDN通过智能技术生成

在C++中,lambda表达式是一种简洁的方式,用于直接在代码中定义匿名函数或函数对象(也称为闭包)。Lambda表达式在C++11中引入,提供了一种更便捷的语法,用于创建短小的、局部的函数,无需单独的函数声明。 

lambda表达式的基本语法如下:

[capture](parameters) -> return_type {
    // 函数体
}

让我们来解释一下各个组成部分:

  • 捕获子句 ([capture]): 允许从周围范围中捕获变量。捕获子句可以为空 ([]),通过值捕获特定变量 ([var1, var2]),通过值捕获所有变量 ([=]),通过引用捕获特定变量 ([&var1, &var2]),或者通过引用捕获所有变量 ([&])。

  • 参数列表 ((parameters)): 类似于常规函数声明中的参数列表。

  • 返回类型 (-> return_type): 指定lambda表达式的返回类型。这部分是可选的,如果省略,则从lambda体内的返回语句中推断返回类型。

  • 函数体 { /* code */ }: 包含lambda函数的实际代码。

下面是一个示例,演示了lambda表达式的用法:

#include <iostream>

int main() {
    // Lambda表达式,接受两个整数并返回它们的和
    auto add = [](int a, int b) -> int {
        return a + b;
    };

    // 使用lambda函数
    int result = add(3, 5);
    std::cout << "结果:" << result << std::endl;

    return 0;
}

在这个例子中,lambda表达式捕获了零个变量 ([]),接受两个整数参数 (int a, int b),指定了返回类型 (-> int),并将两个参数相加,返回结果。

Lambda表达式通常用于需要短小、一次性使用的函数的情况,例如在使用将函数对象作为参数的算法或其他场景中,其中不需要命名函数。

  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值