美文网首页
c++11之lambda表达式

c++11之lambda表达式

作者: zainworld | 来源:发表于2017-06-12 22:35 被阅读14次

作用:

  1. 匿名函数,对于某种情况下只需要运用一次的函数,避免污染环境。而且使得逻辑更加紧凑,更加易读。
  2. 闭包, 闭包是指将当期作用域的变量以值传递或者引用传递的方式封装到lambda表达式中。实际上就相当于将lambda表达式从一个普通的函数封装成了一个带隐藏参数的函数。

表达式规范:

[捕获参数] (入参) ->返回值 { 函数内容 }

捕获参数可以是以下形式:
  1. [ a, &b ] a变量以值传递的形式被捕获,b变量以引用的形式被捕获
  2. [ = ] 以值传递的方式捕获外部所有自动变量
  3. [ & ] 以引用传递的方式捕获外部所有自动变量
  4. [ this ] 以值传递的方式捕获this指针
  5. [ ] 不捕获任何变量

不需要的情况下,入参->返回值均可以省略

相关文章

  • c++11 新特性

    c++11的新特性 1.1 lambda表达式 lambda表达式讲解 例子1: 例子2: C++11中的Lamb...

  • C++ Lambda函数与表达式

    C++11 提供了对匿名函数的支持,称为 Lambda 函数(也叫 Lambda 表达式)。 Lambda 表达式...

  • Lambda函数与表达式

    C++11 提供了对匿名函数的支持,称为 Lambda 函数(也叫 Lambda 表达式)。Lambda表达式完整...

  • c++11 lambda表达式

    1 lambda表达式 C++11提供了对匿名函数的支持,称为Lambda函数(也叫Lambda表达式)。Lamb...

  • C++11匿名函数

    [C++11] Lambda表达式 Lambda表达式是一个匿名函数。基本语法如下:[capture list] ...

  • C++ lambda表达式与函数对象

    C++ lambda表达式与函数对象 lambda表达式是C++11中引入的一项新技术,利用lambda表达式可以...

  • C++ 匿名函数(lambda函数,lambda表达式)

    C++11提供了对匿名函数的支持,称为Lambda函数(也叫Lambda表达式). Lambda表达式具体形式如下...

  • C++中的Lambda表达式

    1.Lambda函数与表达式 C++11提供了对匿名函数的支持,称为Lambda函数(也叫Lambda表达式)。L...

  • Lambda表达式

    [](){}是一个C++11下的Lambda表达式(匿名函数),当然[]{}也是一个Lambda表达式。 Lamb...

  • 现代 C++:Lambda 表达式

    Lambda 表达式(Lambda Expression)是 C++11 引入的一个“语法糖”,可以方便快捷地创建...

网友评论

      本文标题:c++11之lambda表达式

      本文链接:https://www.haomeiwen.com/subject/gksrqxtx.html