Lambda函数

作者: iamsonormal2333 | 来源:发表于2016-10-30 23:58 被阅读184次

lambda函数定义

lambda函数是C++11中的新特性,名称来自于lambda calculus(λ演算)。运用这个系统,你可以使用匿名函数,即无需给函数命名。
先让我们看一个例子

  [ ] (int x)  {return x%3 == 0 ;}

这个表达式等价于下面这个函数

  bool f(int x) {
    return x%3==0;
  }
lambda 的组成部分lambda 的组成部分

1.Lambda表达式的引入标志,在‘[]’里面可以填入‘=’或‘&’表示该lambda表达式“捕获”(lambda表达式在一定的scope可以访问的数据)的数据时以什么方式捕获的,‘&’表示一引用的方式;‘=’表明以值传递的方式捕获,除非专门指出。
2.Lambda表达式的参数列表
3.Mutable 标识
4.异常标识
5.返回值
6.“函数”体,也就是lambda表达式需要进行的实际操作
其中,lambda函数没有声明返回值,返回类型是根据返回值的推断得到的。
仅当lambda表达式完全由一条返回语句组成时,自动类型推断才管用,否则,英国使用C++11新增的返回类型后置语法

  [ ](double x)->double {int y=x; return x-y;}

为何要使用lambda

当函数定义在使用范围附近的时候,比较便于修改和查阅参数。从这个角度看,lambda是一个理想的选择。因为它的定义和使用是在同一个地方进行的。从简介角度看,函数的代码较繁琐,而且相同的lambda函数可以只写一次

  auto f = [ ] (int x) {return x%3==0;}
  bool result = f(5);

使用时直接调用f即可。

相关文章

  • Python基础——匿名函数+作用域

    一、匿名函数:lambda 函数名 = lambda 参数: 表达式 1、有名函数 2、匿名函数lambda [ ...

  • Python学习第五章

    lambda函数 lambda保留字用于定义一种特殊的函数——匿名函数,又称lambda函数。匿名函数并非没有名字...

  • python lambda函数

    lambda 是匿名函数 用来表达简单的函数使用lambda函数应该注意的几点: lambda定义的是单行函数,...

  • Python lambda函数

    lambda函数 在Python中,lambda函数是使用lambda表达式定义的单行匿名函数。它常用于将函数作为...

  • map和lambda表达式

    一. lambda 匿名函数lambda:是指一类无需定义标识符(函数名)的函数或子程序。 lambda 函数可以...

  • 用Python进行数据分析3.2 函数 0705

    Lambda函数 210705Python支持所谓的匿名lambda函数。lambda函数是一种通过单个语句生成函...

  • Python中的lambda用法总结

    lambda是匿名函数,使用lambda可节省函数名称。 lambda argument_list: expres...

  • lambda函数的作用

    目录 lambda函数让代码看起来更简洁直观 lambda函数是一个函数对象 总结 1.lambda函数让代码看起...

  • Python基础_07:匿名函数(2019-1-14)

    lambda lambda 作为内置函数的参数

  • Lambda函数

    lambda函数定义 lambda函数是C++11中的新特性,名称来自于lambda calculus(λ演算)。...

网友评论

    本文标题:Lambda函数

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