lambda表达式
lambda表达式
lambda表示是实际上就是创建一个匿名函数。以下对lambda表达式进行简单说明。以下为lambda表达式的典型结构:
[参数传递方式](参数)mutable->返回类型{函数体};
如果要执行lambda表达式,只需要在表达式后面添加一对小括号即可。
-
参数传递方式:可以为空,也可以是=、&、this、直接使用变量名
- 为空:不实用局部变量
- =:表示使用lambda表达式函数体可以访问表达式所在的局部变量,包括this指针,以值传递的方式进行
- &:表示使用lambda表达式函数体可以访问表达式所在的局部变量,包括this指针,以引用传递的方式进行
- this:可以直接使用this的成员变量,一般推荐使用=
- 变量名:和=方式类似,只是只能使用指定的变量名,以值传递的方式进行,此时无法访问其他局部变量
- =,a,&b:a使用值,b使用引用,其他的使用值传递的方式
- &,=a,=b:a、b使用值,其他使用引用
-
参数:小括号中的参数和平常我们声明函数是的参数没有什么区别
-
mutable:一般值传递的变量都是const的,这些局部变量是不允许修改的,但是如果使用mutable则表示可以修改其拷贝,但是原始的局部变量的值并不会一起被修改
-
返回类型:和正常函数一样

浙公网安备 33010602011771号