cpp的lambda表达式

打印 上一主题 下一主题

主题 853|帖子 853|积分 2559

在C++中,lambda表达式提供了一种方便的方式来界说匿名函数。Lambda可以用来创建简朴的函数对象,常用于算法库中的函数参数,特别是在STL(Standard Template Library)中。
Lambda表达式的语法是如许的:
  1. [ capture ] ( parameters ) -> return-type {
  2.     function-body
  3. }
复制代码
其中:

  • capture:捕获列表,用于指定哪些变量从封闭的作用域中捕获以及如何捕获(值捕获、引用捕获、不捕获、隐式捕获)。例如,[x, &y]表现x通过值捕获,而y通过引用捕获。
  • parameters:参数列表,与普通函数的参数列表雷同。如果没有参数,可以省略或者写成空括号()。
  • return-type:返回范例。自C++14起,如果lambda函数体只包含一个return语句,或者返回范例显而易见,则可以省略返回范例,编译器会进行主动推断。
  • function-body:函数体,包含了lambda的执行语句。
下面是一些lambda表达式的示例:
示例 1:无参数,简朴的打印
[code]auto printHello = []() {    std::cout
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

渣渣兔

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表