Lambda表达式

Lambda表达式

1、完整形式:[capture](params)mutable exception attribute->ret{body}

[捕获列表](参数列表)mutable exception attribute->返回值类型{函数体}

mutable修饰符:表达式可以修改被捕获的变量

Exception:表达式是否抛出异常,抛出何种异常

Attribute:声明属性

2、[capture](params)->ret{body}const形式的lambda表达式,不能修改捕获列表中的值

3、[capture](params){body}省略返回值类型的lambda表达式,返回值类型可以根据函数体重return的返回值类型推导出来,没有return 则类似void类型

4、[capture]{body}类似于无参函数

捕获列表[capture]:捕获外部的变量

[=]以值的方式捕获所有外部变量

[&]以引用的方式捕获所有外部变量

[this]以值的方式捕获this指针

[a,&b]以值的方式捕获a,以引用的方式捕获b

[]不捕获任何变量

(params)指定参数列表

ֽ$3_d0x

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • C++ lambda表达式与函数对象 lambda表达式是C++11中引入的一项新技术,利用lambda表达式可以...
    小白将阅读 85,442评论 15 117
  • 根据算法接受一元谓词还是二元谓词,我们传递给算法的谓词必须严格接受一个或两个参数。但是,有时我们希望进行的操作需要...
    学习编程好少年阅读 1,572评论 1 0
  • 声明:本文翻译自The Java™ Tutorials(官方文档) 简述 匿名类有一个问题,如果匿名类的实现非常简...
    猴子小皮球阅读 4,754评论 0 9
  • 简介 概念 Lambda 表达式可以理解为简洁地表示可传递的匿名函数的一种方式:它没有名称,但它有参数列表、函数主...
    刘涤生阅读 3,250评论 5 18
  • 昨晚,参加了泉城中文头马演讲俱乐部的活动,我这次有角色是即兴演讲主持人,下面把我前期准备的内容和一点小感悟分享给大...
    吕艳朋阅读 1,704评论 1 51