c++11小计

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

" (parameters)" 和 "-> return-type"在不需要的情况下可省略。

mutable:mutable修饰符。默认情况下,lambda函数总是一个const函数,mutable可以取消常量性。在使用该修饰符时,参数列表不可省略(即使为空)。

在使用lambda函数的时候,如果需要捕捉的值成为lambda函数的常量,我们通常会使用按值传递的方式捕捉;

[=]:表示值传递方式捕捉所有父作用域的变量(包括this)

反之,需要捕捉的值成为lambda函数运行时的变量(类似于参数的效果),则应该采用按引用的方式进行捕捉。

[&]:表示引用传递捕捉所有父作用域的变量(包括this)

posted on 2014-08-04 17:43  南原始天  阅读(138)  评论(0编辑  收藏  举报