C++--- Lambda匿名函数表达式

格式:

[capture](parameters)mutable->returm-type{};     函数的声明

[capture](parameters)mutable->returm-type{}();   函数的调用 

[]  表示表达式的开始,必须有:

如果[]里为空,表示任何变量都不会传递给lambda表达式

[=]  表示默认按值传递,传递给{}中用到的变量或对象

按值传递:语句体内修改变量值,不会影响外面的变量值

[&]  表示默认按引用传递

[var]:var是变量名,只传递变量var,其它不能传;前面可以添加&前缀,表示var变量按引用传递

()  参数列表--可选

没有参数可以省略

可以按值传递,如 (a,b);也可以按引用传递,如 (&a,&b)

mutable 选项(可选)--按值传递时使用

  加上mutable后,在语句体类可以修改变量值;省略变量只能只读

returm-type---返回值类型

如果只有一处return时,可以省略,自动判断出类型

int ret=[]()->int{return 1000;}();

{}  语句实现体

天子骄龙

猜你喜欢

转载自www.cnblogs.com/liming19680104/p/11448829.html