一分钟学懂Lambda表达式(c++11)

Lambda表达式是C++11引入的新特性,它提供了一种简洁的定义匿名函数的方式,常用于创建简单的函数对象。Lambda的语法包括捕获列表、参数列表、返回类型和函数体,可以方便地用于排序、回调等场景,提高了代码的可读性和维护性。
摘要由CSDN通过智能技术生成

大家好!我是OnlyStronger(欧洲哥)今天来给大家分享一下c++11中的Lambda表达式

Lambda表达式是C++11中的一个新特性,它是一种匿名函数,可以用于定义简单的函数对象。Lambda表达式的优点是可以方便地定义简单的函数对象,提高代码的可读性和可维护性。

Lambda表达式的语法如下:

[capture list] (params list) mutable exception-> return type { function body }

其中,capture list是捕获列表,用于捕获外部变量;params list是参数列表,用于指定函数参数;mutable关键字用于指定是否可以修改捕获的变量;exception是异常列表,用于指定函数可能会抛出的异常;return type是返回值类型;function body是函数体。

例如,下面的lambda表达式定义了一个函

auto add = [](int a, int b) -> int { return a + b; };

数对象,它接受两个整数参数并返回它们的和:

auto add = [](int a, int b) -> int { return a + b; };

在使用lambda表达式时,可以将其作为函数对象传递给其他函数,或者直接调用它。例如:

// 将lambda表达式作为函数对象传递给std::sort函数

std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};

std::sort(vec.begin(), vec.end(), [](int a, int b) -> bool { return a < b; });



// 直接调用lambda表达式

int sum = [](int a, int b) -> int { return a + b; }(3, 4);

Lambda表达式可以方便地定义简单的函数对象,提高代码的可读性和可维护性。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值