C++ Lambda表达式

Lambda 表达式是 C++11 中引入的一种用于创建匿名函数的特殊语法。它允许我们在代码中定义一个临时的、无名的函数对象,而无需显式定义一个函数。

Lambda 表达式的一般语法如下:

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

其中,capture list 是捕获列表,用于指定需要在 lambda 表达式中使用的外部变量。parameter list 是函数参数列表,用于指定 lambda 函数的参数。return type 是返回值类型,用于指定 lambda 函数的返回类型。函数体 则是 lambda 函数的具体实现。

以下是一个简单的 lambda 表达式示例:

#include <iostream>

int main() {
    int x = 10;
    int y = 20;

    // lambda 表达式,捕获 x 和 y 变量,并计算它们的和
    auto sum = [x, y]() -> int {
        return x + y;
    };

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

    return 0;
}

在上面的示例中,我们创建了一个 lambda 表达式,它捕获了外部变量 x 和 y,并计算它们的和。然后我们通过调用 lambda 函数并输出结果来使用这个 lambda 表达式。

Lambda 表达式非常灵活,可以用于各种场景,例如在 STL 算法中作为谓词(predicate)、用于多线程编程中、在算法中进行数据处理等等。由于它能够直接捕获外部变量,使得代码更加简洁、清晰和易于维护。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值