lambda表达式基础

在C++中,Lambda表达式是一种用于定义匿名函数的特性,它允许你在需要函数的地方直接定义函数,而无需显式声明一个命名函数。Lambda表达式的一般形式为:

cpp
[capture list] (parameter list) -> return type {
    // 函数体
}

capture list 指定了Lambda表达式内部可访问的外部变量。[=] 表示捕获外部作用域中的所有变量,按值传递方式;[&] 表示捕获外部作用域中的所有变量,按引用传递方式;也可以指定具体的变量进行捕获。
parameter list 是Lambda函数的参数列表,类似于普通函数的参数列表。
return type 是Lambda函数的返回类型,可以省略,编译器会根据函数体自动推导返回类型。
{} 内是Lambda函数的函数体,包含了函数的具体逻辑。

下面是一个简单的Lambda表达式的示例:

#include <iostream>

int main() {
    int a = 10;
    int b = 20;

    // Lambda表达式定义
    auto sum = [a, b]() {
        return a + b;
    };

    // 调用Lambda函数并输出结果
    std::cout << "Sum: " << sum() << std::endl;

    return 0;
}

在这个示例中,我们定义了一个Lambda表达式 sum,它捕获了外部作用域中的变量 a 和 b,并返回它们的和。Lambda表达式定义后,我们调用它并输出了结果。Lambda表达式的灵活性和简洁性使得它成为C++中一个非常有用的特性,特别是在需要传递函数作为参数或在需要定义小型函数时。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值