[capture] (parameters) mutable -> return-type { statement }
" (parameters)" 和 "-> return-type"在不需要的情况下可省略。
mutable:mutable修饰符。默认情况下,lambda函数总是一个const函数,mutable可以取消常量性。在使用该修饰符时,参数列表不可省略(即使为空)。
在使用lambda函数的时候,如果需要捕捉的值成为lambda函数的常量,我们通常会使用按值传递的方式捕捉;
[=]:表示值传递方式捕捉所有父作用域的变量(包括this)
反之,需要捕捉的值成为lambda函数运行时的变量(类似于参数的效果),则应该采用按引用的方式进行捕捉。
[&]:表示引用传递捕捉所有父作用域的变量(包括this)
原文:http://www.cnblogs.com/wangnan1979/p/3890694.html