- 1
- 0
- 约1.92千字
- 约 2页
- 2023-03-21 发布于浙江
- 举报
Lambda表达式
Lambda表达式允许你在本地定义函数,即在调用的地方定义,从而消除函数对象产生的许多安全风险,Lambda表达式的格式如下:
[capture](parameters)-return-type?{body}(para_list)
[]里是函数调用的引入符,表示一个Lambda表达式的开始,
作用:
Lambda 表达式就是用于创建匿名函数的。GCC 4.5.x 和 Microsoft Visual Studio 早已提供了对 lambda 表达式的支持。在 GCC 4.7 中,默认是不开启 C++ 11 特性的,需要添加 ?-std=c++11 编译参数。而 VS2010 则默认开启。
分段详解:
[capture]: lambda表达式的引入符号_必须存在
Lambda所有出现的 lambda 引入符总结:
[]? ? ? ? // 不捕获任何外部变量
[=]? ? ? // 以值的形式捕获所有外部变量
[]? ? ? // 以引用形式捕获所有外部变量
[x, y]?// x 以传值形式捕获,y 以引用形式捕获
[=, z]// z 以引用形式捕获,其余变量以传值形式捕获
[, x]? // x 以值的形式捕获,其余变量以引用形式捕获
this显示传入:对于[=]或[]的形式,lambda 表达式可以直接使用 this 指针。但是,对于[]的形式,
原创力文档

文档评论(0)