c++中使用lambda表达式的作用和用法
发布时间
阅读量:
阅读量
lambda表达式 :
这是C++11标准新增的一项功能,允许用户在需要构造函数对象的场景中,直接编写一个无需命名且能够捕获外部变量的函数实现,特别适用于作为回调函数、临时运算或创建小型函数对象的情形。
lambda表达式与常规函数在结构上具有相似之处,同样包含参数列表、返回类型以及函数体,但其定义形式更为简练,并且支持在函数内部进行定义。
lambda表达式的语法 :
lambda表达式通常采用以下结构进行表示:
[capture] (parameters) mutable -> return-type { body }
其中:
[capture]: 用于定义捕获列表,其作用是表明lambda表达式能够获取哪些来自外部环境的变量,通过值传递或引用传递的方式 。该列表可以为空,意味着不引入任何变量;此外,也可以使用=或&来分别表示对所有变量进行值传递或引用传递的捕获方式,或者明确列出需要捕获的变量名称,并以逗号作为分隔符。例如:
[a, &b] // 按值捕获a,按引用捕获b
[=, &c] // 按值捕获所有变量,但按引用捕获c
[&] // 按引用捕获所有变量
[this] // 捕
全部评论 (0)
还没有任何评论哟~
