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则表示可以修改其拷贝,但是原始的局部变量的值并不会一起被修改

  • 返回类型:和正常函数一样

posted @ 2020-09-14 21:06  fisshlove  阅读(126)  评论(0)    收藏  举报