【C++之·C++11·lambda函数】

系列文章目录



前言


一、概述

1.1 lambda函数简介

  名称lambda来自lambda calculus(lambda演算),一种定义和应用函数的数学系统。这个系统中可以使用匿名函数,对于接收函数指针或伪函数的函数,可以使用匿名函数定义(lambda)作为其参数。

1.1.1 为什么使用lambda函数?

距离: 定义位于使用的地方附近很有用,由于函数不能定义在函数中,编译器传统意义上也不会内联其他地址被获取的函数,因为函数地址的概念意味着非内联函数,伪函数也可以定义在使用附近,因此,lambda和伪函数比函数近

简洁: 伪函数代码比函数和lambda繁琐

1.1.2 引入lambda的目的

让程序员能够将类似于函数的表达式用作接收函数指针或伪函数的函数的参数。典型的lambda是测试表达式和比较表达式,可编写一条返回语句。这使得lambda简洁易于理解,且可自动推断返回类型。

二、实例演示

示例1:

cout << "-----------" << endl;
    int x(10);

    auto fun = [](int x)->int{
        cout << x << endl;
        return  16;
    };

    cout << fun(18) << endl;

    cout << "-----------" << endl;

    int a(1),b(11),c(20);

    cout << a << endl;
    cout << b << endl;
    cout << c << endl;

    auto Fun2 = [&]()->int{
            a = 6;
            b = 6;
            c = 6;
    };
    Fun2();
    cout << a << endl;
    cout << b << endl;
    cout << c << endl;

运行结果:
在这里插入图片描述


总结

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值