lamda表达式的总结

以前只会用,现在总结一下。

lamda表达式可以理解为匿名函数的实现方式。

Lambda表达式完整的声明格式如下:

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

项具体含义如下

  1. capture list:捕获外部变量列表
  2. params list:形参列表
  3. mutable指示符:用来说用是否可以修改捕获的变量(有就表示可以修改;没有这个指示符,就表示不能修改捕获的变量)
  4. exception:异常设定
  5. return type:返回类型
  6. function body:函数体

常用的结构如下:

序号格式
1[capture list] (params list) -> return type {function body}
2[capture list] (params list) {function body}
3[capture list] {function body}

主要注意下对于参数的捕获方式:

1.[capture list]  为空,即[ ](){  function body}  ,表示函数不捕获外部任何参数,也就是函数体内部不需要用到函数体以外的变量,即使是同名的,也是新创建的,否则会编译报错,capture参数失败。

2..[capture list]  不为空,那么就会捕获外部的变量,至于怎么捕获看下面贴的文章,解释的很详细。

 

 

其余的详细信息可以参考这篇文章,讲的很详细:

https://www.cnblogs.com/DswCnblog/p/5629165.html 

 

关于lamda的应用,可以看一下我的另一篇博客,关于如何对pair数据对按照first or second元素进行排序

https://blog.csdn.net/qq_31638535/article/details/82859165

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值