更方便的函数回调——Lambda
auto callbackFunc = [&](){
    backHome();
};
- []符号,表示要开始一个lambda函数;
- ()符号,里面填写函数的参数;
当想在lambda函数里使用外部的变量时需要指定变量捕获模式。
在[]符号里加上指定的符号,就能指定变量捕获模式,常用的捕获模式如下:
- [] ,不截取任何变量。
- [&] , 截取外部作用域中所有变量,并且作为引用在lambda函数中使用,只要变量没有被释放,就可以在lambda函数中使用。但是局部变量不可以使用,因为局部变量会被释放。
- [=] ,截取外部作用域中所有变量,并且作为引用在lambda函数中使用,只要变量没有被释放,就可以在lambda函数中使用,即使外部变量的值改变了,但是在lambda函数执行时,依旧是赋值时的值。
- [=,&name] , 和[=]功能一样,但是对name变量使用引用(也就是[&]的方式)。
- [name] , 和[=]功能一样,但是只针对name变量,其他忽略。
更方便的函数回调——Lambda的更多相关文章
- 委托,匿名函数和lambda表达式
		很早之前就接触到了委托,但是一直对他用的不是太多,主要是本人是菜鸟,能写的比较高级的代码确实不多,但是最近在看MSDN微软的类库的时候,发现了微软的类库好多都用到了委托,于是决定好好的研究研究,加深一 ... 
- [C#学习教程-委托]001.大道至简之委托(代理),匿名函数,Lambda表达式
		引言:此文翻译自CodeProject上的同名文章<C# Delegates,Anonymous Methods, and Lambda Expressions>,在此一起Mark一下,此 ... 
- 匿名函数:Lambda表达式和匿名方法
		匿名函数一个"内联"语句或表达式,可在需要委托类型的任何地方使用.可以使用匿名函数来初始化命名委托,或传递命名委托(而不是命名委托类型)作为方法参数. 共有两种匿名函数: Lamb ... 
- 3 委托、匿名函数、lambda表达式
		委托.匿名函数.lambda表达式 在 2.0 之前的 C# 版本中,声明委托的唯一方法是使用命名方法.C# 2.0 引入了匿名方法,而在 C# 3.0 及更高版本中,Lambda 表达式取代了匿名方 ... 
- 用委托、匿名函数、Lambda的方式输出符合要求的数
		最近看了一些博客,对委托和匿名函数和Lambda的方式有了一些更深的理解,在前人的基础上.我也写3个例子 using System; using System.Collections.Generic; ... 
- C#语法之匿名函数和Lambda表达式
		上一篇博客主要是对委托和事件做了一小结,这篇是在上一篇博客的基础上对匿名函数和Lambda表达式小结.还是接着上一篇说起,在上一篇中也说了委托是一种数据结构,主要是解决让函数作为参数的问题.在使用委托 ... 
- python——内置函数和lambda匿名函数
		内置函数 接下来,我们就一起来看看python里的内置函数.截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是python提供给你直接可以拿来使用的所有函数.这 ... 
- Python基础灬高阶函数(lambda,filter,map,reduce,zip)
		高阶函数 lambda函数 关键字lambda表示匿名函数,当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便. lambda函数省略函数名,冒号前为参数,冒号后函数体. # ... 
- JavaScript箭头函数(Lambda表达式)
		箭头函数也叫lambda表达式 据说其主要意图是定义轻量级的内联回调函数 栗有: 1 var arr = ["wei","ze","yang" ... 
随机推荐
- 安装vb6 正在更新系统 无响应
			新装的win10系统,安装vb6时,最后一直卡在“正在更新系统”,程序无响应,没办法,kill掉后,貌似不影响软件使用,但是安装vs6sp6B无法成功安装. 解决办法是: 不安装“数据访问”组件. 参 ... 
- 笨方法学python--参数,解包,变量
			1 cmd中执行 python ex11.py, ex11.py部分也是所谓的"参数". 2 from sys import argv script, first, second, ... 
- HttpClient的get和post方式提交数据的使用
			/** * Http工具类 */ public class HttpUtil { // 创建HttpClient对象 public static HttpClient httpClient = new ... 
- SCANF SCANF_S
			今天在看C的教程的时候,用VS2013写了一小段代码 scanf("%f",&w); 提示需要在预编译器里添加 _CRT_SECURE_NO_WARNINGS, 百度了下 ... 
- vbs和qtp一些脚本
			********************************************************************************************** 用vbs调 ... 
- 第十一节,编辑器软件PyCharm 5.0.3
			编辑器软件PyCharm 5.0.3 设置 主题方案 字体大小 行距 文件模板 文件编码 版本切换 
- 修改index.php 清空mylog1.txt
			进入编辑php文件vim index.php(无则新建) -->进入命令行模式--输入a(append)-->进入编辑模式-->编辑好-->esc退出编辑模式-->:q! ... 
- Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable content-type: text/html"
			2015-11-16 10:39:17.235 PullDemo[338:60b] Application windows are expected to have a root view contr ... 
- php-fpm参数优化【转】
			转自 php-fpm参数优化 | Linux运维笔记https://blog.linuxeye.com/380.html php-fpm进程设置多少合适,设成动态还是静态? <lnmp一键安装包 ... 
- JS调用OC方法
			- (void)myMethod:(CDVInvokedUrlCommand*)command { NSString* echo = [command.arguments objectAtIndex: ... 
