C++ lambda函数

1.lambda函数格式:

  [capture](parameters) mutable ->return-type{statement}

其中

  a.capture表示捕捉的变量,这些变量的作用域或为lambda函数内的,或为父作用域lambda函数定义前定义的

    捕捉的方式:

    (1).【=】.值传递所有父作用域的变量

    (2).【&】.引用传递所有父作用域的变量

    (3).【&var】.引用传递变量var

    (4).【var】.值传递变量var

    (5).【this】.值传递捕捉当前的this指针

  b.()表示lambda函数的参数列表,若无参的话可以连()都省去,一般lambda函数捕捉的变量默认为const变量,加mutable就可以可写可变

  c.->return-type 函数返回类型

  d.函数体内的操作,如果是引用传值,内部的操作就会改变外部变量的值,值传递的话不会改变外部变量

 

上述仅个人总结,具体的可看看http://www.jb51.net/article/56147.htm

posted @ 2017-10-03 17:48  sharee  阅读(376)  评论(0)    收藏  举报