美文网首页
Lambda函数

Lambda函数

作者: 食梦狸猫 | 来源:发表于2019-01-06 15:25 被阅读0次

一个Lambda函数例子:

int main()

{

    int girls = 3,boys=4;

    auto totalChild = [] (int x, int y)->int {return x+y;};

    return totalChild(girls,boys);

}

此lambda函数接受两个参数,x和y,然后返回结果为和。lambda函数的语法定义为:    [捕捉列表](参数) 修饰符->返回类型{函数体},最简单的lambda函数声明为[]{};

而lambda函数与普通函数最大的区别在于,lambda函数可以通过捕捉列表访问上下文中的数据,以及数据的使用方式(按值传递或者引用传递)

重写上例中的lambda函数: auto totalChild = [girls,&boys]()->int{ return  girls+boys;};此时按值传递的方式捕捉变量girls,按引用传递方式捕捉boys。

捕捉项有如下几种形式:

[var]表示按值捕捉变量var

[=]表示按值捕捉所有父作用域(包括this)的变量

[&var]表示按引用方式捕捉变量var

[&]表示引用传递父作用域的变量(this)

[this]表示按值传递方式捕捉当前指针

再次重写上诉lambda表达式:auto totalChild = [=]()->int{return girls + boys;};

此时boys和girls都按值传递了

lambda 与 仿函数

在c++11中,lambda可以视作为仿函数的一种等价形式。

相关文章

  • 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/mmesrqtx.html